YES 4.031 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/List.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ IFR

mainModule List
  ((union :: Eq a => [Maybe a ->  [Maybe a ->  [Maybe a]) :: Eq a => [Maybe a ->  [Maybe a ->  [Maybe a])

module List where
  import qualified Maybe
import qualified Prelude

  deleteBy :: (a  ->  a  ->  Bool ->  a  ->  [a ->  [a]
deleteBy _ _ [] []
deleteBy eq x (y : ys if x `eq` y then ys else y : deleteBy eq x ys

  elem_by :: (a  ->  a  ->  Bool ->  a  ->  [a ->  Bool
elem_by _ _ [] False
elem_by eq y (x : xsx `eq` y || elem_by eq y xs

  nubBy :: (a  ->  a  ->  Bool ->  [a ->  [a]
nubBy eq l 
nubBy' l [] where 
nubBy' [] _ []
nubBy' (y : ysxs 
 | elem_by eq y xs = 
nubBy' ys xs
 | otherwise = 
y : nubBy' ys (y : xs)

  union :: Eq a => [a ->  [a ->  [a]
union unionBy (==)

  unionBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
unionBy eq xs ys xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs


module Maybe where
  import qualified List
import qualified Prelude



If Reductions:
The following If expression
if eq x y then ys else y : deleteBy eq x ys

is transformed to
deleteBy0 ys y eq x True = ys
deleteBy0 ys y eq x False = y : deleteBy eq x ys



↳ HASKELL
  ↳ IFR
HASKELL
      ↳ BR

mainModule List
  ((union :: Eq a => [Maybe a ->  [Maybe a ->  [Maybe a]) :: Eq a => [Maybe a ->  [Maybe a ->  [Maybe a])

module List where
  import qualified Maybe
import qualified Prelude

  deleteBy :: (a  ->  a  ->  Bool ->  a  ->  [a ->  [a]
deleteBy _ _ [] []
deleteBy eq x (y : ysdeleteBy0 ys y eq x (x `eq` y)

  
deleteBy0 ys y eq x True ys
deleteBy0 ys y eq x False y : deleteBy eq x ys

  elem_by :: (a  ->  a  ->  Bool ->  a  ->  [a ->  Bool
elem_by _ _ [] False
elem_by eq y (x : xsx `eq` y || elem_by eq y xs

  nubBy :: (a  ->  a  ->  Bool ->  [a ->  [a]
nubBy eq l 
nubBy' l [] where 
nubBy' [] _ []
nubBy' (y : ysxs 
 | elem_by eq y xs = 
nubBy' ys xs
 | otherwise = 
y : nubBy' ys (y : xs)

  union :: Eq a => [a ->  [a ->  [a]
union unionBy (==)

  unionBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
unionBy eq xs ys xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs


module Maybe where
  import qualified List
import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.

↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
HASKELL
          ↳ COR

mainModule List
  ((union :: Eq a => [Maybe a ->  [Maybe a ->  [Maybe a]) :: Eq a => [Maybe a ->  [Maybe a ->  [Maybe a])

module List where
  import qualified Maybe
import qualified Prelude

  deleteBy :: (a  ->  a  ->  Bool ->  a  ->  [a ->  [a]
deleteBy vw vx [] []
deleteBy eq x (y : ysdeleteBy0 ys y eq x (x `eq` y)

  
deleteBy0 ys y eq x True ys
deleteBy0 ys y eq x False y : deleteBy eq x ys

  elem_by :: (a  ->  a  ->  Bool ->  a  ->  [a ->  Bool
elem_by vz wu [] False
elem_by eq y (x : xsx `eq` y || elem_by eq y xs

  nubBy :: (a  ->  a  ->  Bool ->  [a ->  [a]
nubBy eq l 
nubBy' l [] where 
nubBy' [] vy []
nubBy' (y : ysxs 
 | elem_by eq y xs = 
nubBy' ys xs
 | otherwise = 
y : nubBy' ys (y : xs)

  union :: Eq a => [a ->  [a ->  [a]
union unionBy (==)

  unionBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
unionBy eq xs ys xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs


module Maybe where
  import qualified List
import qualified Prelude



Cond Reductions:
The following Function with conditions
nubBy' [] vy = []
nubBy' (y : ysxs
 | elem_by eq y xs
 = nubBy' ys xs
 | otherwise
 = y : nubBy' ys (y : xs)

is transformed to
nubBy' [] vy = nubBy'3 [] vy
nubBy' (y : ysxs = nubBy'2 (y : ysxs

nubBy'1 y ys xs True = nubBy' ys xs
nubBy'1 y ys xs False = nubBy'0 y ys xs otherwise

nubBy'0 y ys xs True = y : nubBy' ys (y : xs)

nubBy'2 (y : ysxs = nubBy'1 y ys xs (elem_by eq y xs)

nubBy'3 [] vy = []
nubBy'3 yx yy = nubBy'2 yx yy

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
HASKELL
              ↳ LetRed

mainModule List
  ((union :: Eq a => [Maybe a ->  [Maybe a ->  [Maybe a]) :: Eq a => [Maybe a ->  [Maybe a ->  [Maybe a])

module List where
  import qualified Maybe
import qualified Prelude

  deleteBy :: (a  ->  a  ->  Bool ->  a  ->  [a ->  [a]
deleteBy vw vx [] []
deleteBy eq x (y : ysdeleteBy0 ys y eq x (x `eq` y)

  
deleteBy0 ys y eq x True ys
deleteBy0 ys y eq x False y : deleteBy eq x ys

  elem_by :: (a  ->  a  ->  Bool ->  a  ->  [a ->  Bool
elem_by vz wu [] False
elem_by eq y (x : xsx `eq` y || elem_by eq y xs

  nubBy :: (a  ->  a  ->  Bool ->  [a ->  [a]
nubBy eq l 
nubBy' l [] where 
nubBy' [] vy nubBy'3 [] vy
nubBy' (y : ysxs nubBy'2 (y : ys) xs
nubBy'0 y ys xs True y : nubBy' ys (y : xs)
nubBy'1 y ys xs True nubBy' ys xs
nubBy'1 y ys xs False nubBy'0 y ys xs otherwise
nubBy'2 (y : ysxs nubBy'1 y ys xs (elem_by eq y xs)
nubBy'3 [] vy []
nubBy'3 yx yy nubBy'2 yx yy

  union :: Eq a => [a ->  [a ->  [a]
union unionBy (==)

  unionBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
unionBy eq xs ys xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs


module Maybe where
  import qualified List
import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
nubBy' l []
where 
nubBy' [] vy = nubBy'3 [] vy
nubBy' (y : ysxs = nubBy'2 (y : ysxs
nubBy'0 y ys xs True = y : nubBy' ys (y : xs)
nubBy'1 y ys xs True = nubBy' ys xs
nubBy'1 y ys xs False = nubBy'0 y ys xs otherwise
nubBy'2 (y : ysxs = nubBy'1 y ys xs (elem_by eq y xs)
nubBy'3 [] vy = []
nubBy'3 yx yy = nubBy'2 yx yy

are unpacked to the following functions on top level
nubByNubBy'3 yz [] vy = []
nubByNubBy'3 yz yx yy = nubByNubBy'2 yz yx yy

nubByNubBy'0 yz y ys xs True = y : nubByNubBy' yz ys (y : xs)

nubByNubBy'1 yz y ys xs True = nubByNubBy' yz ys xs
nubByNubBy'1 yz y ys xs False = nubByNubBy'0 yz y ys xs otherwise

nubByNubBy'2 yz (y : ysxs = nubByNubBy'1 yz y ys xs (elem_by yz y xs)

nubByNubBy' yz [] vy = nubByNubBy'3 yz [] vy
nubByNubBy' yz (y : ysxs = nubByNubBy'2 yz (y : ysxs



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
HASKELL
                  ↳ Narrow

mainModule List
  (union :: Eq a => [Maybe a ->  [Maybe a ->  [Maybe a])

module List where
  import qualified Maybe
import qualified Prelude

  deleteBy :: (a  ->  a  ->  Bool ->  a  ->  [a ->  [a]
deleteBy vw vx [] []
deleteBy eq x (y : ysdeleteBy0 ys y eq x (x `eq` y)

  
deleteBy0 ys y eq x True ys
deleteBy0 ys y eq x False y : deleteBy eq x ys

  elem_by :: (a  ->  a  ->  Bool ->  a  ->  [a ->  Bool
elem_by vz wu [] False
elem_by eq y (x : xsx `eq` y || elem_by eq y xs

  nubBy :: (a  ->  a  ->  Bool ->  [a ->  [a]
nubBy eq l nubByNubBy' eq l []

  
nubByNubBy' yz [] vy nubByNubBy'3 yz [] vy
nubByNubBy' yz (y : ysxs nubByNubBy'2 yz (y : ys) xs

  
nubByNubBy'0 yz y ys xs True y : nubByNubBy' yz ys (y : xs)

  
nubByNubBy'1 yz y ys xs True nubByNubBy' yz ys xs
nubByNubBy'1 yz y ys xs False nubByNubBy'0 yz y ys xs otherwise

  
nubByNubBy'2 yz (y : ysxs nubByNubBy'1 yz y ys xs (elem_by yz y xs)

  
nubByNubBy'3 yz [] vy []
nubByNubBy'3 yz yx yy nubByNubBy'2 yz yx yy

  union :: Eq a => [a ->  [a ->  [a]
union unionBy (==)

  unionBy :: (a  ->  a  ->  Bool ->  [a ->  [a ->  [a]
unionBy eq xs ys xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs


module Maybe where
  import qualified List
import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(zu7400), Succ(zu43001000)) → new_primPlusNat(zu7400, zu43001000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(zu31100100), Succ(zu4300100)) → new_primMulNat(zu31100100, Succ(zu4300100))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(zu3110000), Succ(zu430000)) → new_primEqNat(zu3110000, zu430000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs3(Just(zu311000), Just(zu43000), app(app(ty_@2, bdf), bdg)) → new_esEs0(zu311000, zu43000, bdf, bdg)
new_esEs(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), ba, bb, app(ty_[], bh)) → new_esEs1(zu311002, zu43002, bh)
new_esEs(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), app(ty_Maybe, eg), bb, cg) → new_esEs3(zu311000, zu43000, eg)
new_esEs2(Left(zu311000), Left(zu43000), app(app(ty_@2, bbc), bbd), bbb) → new_esEs0(zu311000, zu43000, bbc, bbd)
new_esEs0(@2(zu311000, zu311001), @2(zu43000, zu43001), app(app(ty_Either, hb), hc), gf) → new_esEs2(zu311000, zu43000, hb, hc)
new_esEs2(Left(zu311000), Left(zu43000), app(ty_[], bbe), bbb) → new_esEs1(zu311000, zu43000, bbe)
new_esEs1(:(zu311000, zu311001), :(zu43000, zu43001), he) → new_esEs1(zu311001, zu43001, he)
new_esEs(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), ba, bb, app(app(ty_@2, bf), bg)) → new_esEs0(zu311002, zu43002, bf, bg)
new_esEs0(@2(zu311000, zu311001), @2(zu43000, zu43001), app(ty_[], ha), gf) → new_esEs1(zu311000, zu43000, ha)
new_esEs(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), ba, app(ty_[], dc), cg) → new_esEs1(zu311001, zu43001, dc)
new_esEs(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), app(app(app(ty_@3, dg), dh), ea), bb, cg) → new_esEs(zu311000, zu43000, dg, dh, ea)
new_esEs1(:(zu311000, zu311001), :(zu43000, zu43001), app(ty_[], bac)) → new_esEs1(zu311000, zu43000, bac)
new_esEs3(Just(zu311000), Just(zu43000), app(app(app(ty_@3, bdc), bdd), bde)) → new_esEs(zu311000, zu43000, bdc, bdd, bde)
new_esEs2(Left(zu311000), Left(zu43000), app(app(ty_Either, bbf), bbg), bbb) → new_esEs2(zu311000, zu43000, bbf, bbg)
new_esEs3(Just(zu311000), Just(zu43000), app(app(ty_Either, bea), beb)) → new_esEs2(zu311000, zu43000, bea, beb)
new_esEs2(Left(zu311000), Left(zu43000), app(app(app(ty_@3, bag), bah), bba), bbb) → new_esEs(zu311000, zu43000, bag, bah, bba)
new_esEs2(Right(zu311000), Right(zu43000), bca, app(app(app(ty_@3, bcb), bcc), bcd)) → new_esEs(zu311000, zu43000, bcb, bcc, bcd)
new_esEs1(:(zu311000, zu311001), :(zu43000, zu43001), app(app(ty_Either, bad), bae)) → new_esEs2(zu311000, zu43000, bad, bae)
new_esEs(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), ba, app(app(ty_Either, dd), de), cg) → new_esEs2(zu311001, zu43001, dd, de)
new_esEs0(@2(zu311000, zu311001), @2(zu43000, zu43001), eh, app(app(app(ty_@3, fa), fb), fc)) → new_esEs(zu311001, zu43001, fa, fb, fc)
new_esEs2(Right(zu311000), Right(zu43000), bca, app(app(ty_@2, bce), bcf)) → new_esEs0(zu311000, zu43000, bce, bcf)
new_esEs(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), app(ty_[], ed), bb, cg) → new_esEs1(zu311000, zu43000, ed)
new_esEs0(@2(zu311000, zu311001), @2(zu43000, zu43001), app(app(app(ty_@3, gc), gd), ge), gf) → new_esEs(zu311000, zu43000, gc, gd, ge)
new_esEs2(Right(zu311000), Right(zu43000), bca, app(ty_[], bcg)) → new_esEs1(zu311000, zu43000, bcg)
new_esEs(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), app(app(ty_@2, eb), ec), bb, cg) → new_esEs0(zu311000, zu43000, eb, ec)
new_esEs(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), ba, bb, app(app(ty_Either, ca), cb)) → new_esEs2(zu311002, zu43002, ca, cb)
new_esEs0(@2(zu311000, zu311001), @2(zu43000, zu43001), eh, app(ty_Maybe, gb)) → new_esEs3(zu311001, zu43001, gb)
new_esEs0(@2(zu311000, zu311001), @2(zu43000, zu43001), eh, app(app(ty_Either, fh), ga)) → new_esEs2(zu311001, zu43001, fh, ga)
new_esEs(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), ba, app(app(ty_@2, da), db), cg) → new_esEs0(zu311001, zu43001, da, db)
new_esEs(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), ba, app(app(app(ty_@3, cd), ce), cf), cg) → new_esEs(zu311001, zu43001, cd, ce, cf)
new_esEs0(@2(zu311000, zu311001), @2(zu43000, zu43001), app(ty_Maybe, hd), gf) → new_esEs3(zu311000, zu43000, hd)
new_esEs(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), ba, app(ty_Maybe, df), cg) → new_esEs3(zu311001, zu43001, df)
new_esEs2(Right(zu311000), Right(zu43000), bca, app(app(ty_Either, bch), bda)) → new_esEs2(zu311000, zu43000, bch, bda)
new_esEs3(Just(zu311000), Just(zu43000), app(ty_Maybe, bec)) → new_esEs3(zu311000, zu43000, bec)
new_esEs(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), app(app(ty_Either, ee), ef), bb, cg) → new_esEs2(zu311000, zu43000, ee, ef)
new_esEs1(:(zu311000, zu311001), :(zu43000, zu43001), app(app(app(ty_@3, hf), hg), hh)) → new_esEs(zu311000, zu43000, hf, hg, hh)
new_esEs2(Right(zu311000), Right(zu43000), bca, app(ty_Maybe, bdb)) → new_esEs3(zu311000, zu43000, bdb)
new_esEs0(@2(zu311000, zu311001), @2(zu43000, zu43001), app(app(ty_@2, gg), gh), gf) → new_esEs0(zu311000, zu43000, gg, gh)
new_esEs(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), ba, bb, app(ty_Maybe, cc)) → new_esEs3(zu311002, zu43002, cc)
new_esEs3(Just(zu311000), Just(zu43000), app(ty_[], bdh)) → new_esEs1(zu311000, zu43000, bdh)
new_esEs2(Left(zu311000), Left(zu43000), app(ty_Maybe, bbh), bbb) → new_esEs3(zu311000, zu43000, bbh)
new_esEs0(@2(zu311000, zu311001), @2(zu43000, zu43001), eh, app(ty_[], fg)) → new_esEs1(zu311001, zu43001, fg)
new_esEs0(@2(zu311000, zu311001), @2(zu43000, zu43001), eh, app(app(ty_@2, fd), ff)) → new_esEs0(zu311001, zu43001, fd, ff)
new_esEs1(:(zu311000, zu311001), :(zu43000, zu43001), app(ty_Maybe, baf)) → new_esEs3(zu311000, zu43000, baf)
new_esEs1(:(zu311000, zu311001), :(zu43000, zu43001), app(app(ty_@2, baa), bab)) → new_esEs0(zu311000, zu43000, baa, bab)
new_esEs(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), ba, bb, app(app(app(ty_@3, bc), bd), be)) → new_esEs(zu311002, zu43002, bc, bd, be)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ DependencyGraphProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_nubByNubBy'1(zu183, zu184, zu185, zu186, False, :(zu1880, zu1881), ba) → new_nubByNubBy'1(zu183, zu184, zu185, zu186, new_esEs4(zu1880, zu183, ba), zu1881, ba)
new_nubByNubBy'10(zu183, zu184, zu185, zu186, [], ba) → new_nubByNubBy'(zu184, zu183, :(zu185, zu186), ba)
new_nubByNubBy'1(zu183, :(zu1840, zu1841), zu185, zu186, True, zu188, ba) → new_nubByNubBy'10(zu1840, zu1841, zu185, zu186, :(zu185, zu186), ba)
new_nubByNubBy'1(zu183, zu184, zu185, zu186, False, [], ba) → new_nubByNubBy'(zu184, zu183, :(zu185, zu186), ba)
new_nubByNubBy'10(zu183, zu184, zu185, zu186, :(zu1880, zu1881), ba) → new_nubByNubBy'1(zu183, zu184, zu185, zu186, new_esEs4(zu1880, zu183, ba), zu1881, ba)
new_nubByNubBy'(:(zu1840, zu1841), zu185, zu186, ba) → new_nubByNubBy'10(zu1840, zu1841, zu185, zu186, :(zu185, zu186), ba)

The TRS R consists of the following rules:

new_esEs22(zu311000, zu43000, app(app(ty_@2, gb), gc)) → new_esEs15(zu311000, zu43000, gb, gc)
new_esEs22(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs18(Char(zu311000), Char(zu43000)) → new_primEqNat0(zu311000, zu43000)
new_esEs20(True, True) → True
new_esEs25(zu311001, zu43001, app(ty_[], bfd)) → new_esEs16(zu311001, zu43001, bfd)
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu43000)) → False
new_esEs10(zu311002, zu43002, ty_Char) → new_esEs18(zu311002, zu43002)
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu43000)) → False
new_esEs12(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs25(zu311001, zu43001, ty_@0) → new_esEs13(zu311001, zu43001)
new_esEs19(Left(zu311000), Left(zu43000), ty_Ordering, gh) → new_esEs7(zu311000, zu43000)
new_esEs20(False, False) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), app(app(app(ty_@3, bda), bdb), bdc)) → new_esEs9(zu311000, zu43000, bda, bdb, bdc)
new_esEs22(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs11(zu311001, zu43001, app(ty_Maybe, ea)) → new_esEs21(zu311001, zu43001, ea)
new_primEqInt(Neg(Zero), Pos(Succ(zu430000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zu430000))) → False
new_esEs13(@0, @0) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), app(app(ty_@2, he), hf), gh) → new_esEs15(zu311000, zu43000, he, hf)
new_esEs22(zu311000, zu43000, app(ty_Maybe, gg)) → new_esEs21(zu311000, zu43000, gg)
new_esEs4(zu1880, zu183, app(app(ty_Either, bce), bcf)) → new_esEs19(zu1880, zu183, bce, bcf)
new_esEs11(zu311001, zu43001, app(ty_[], df)) → new_esEs16(zu311001, zu43001, df)
new_esEs12(zu311000, zu43000, app(app(ty_@2, ef), eg)) → new_esEs15(zu311000, zu43000, ef, eg)
new_esEs19(Right(zu311000), Right(zu43000), bac, app(ty_Ratio, bag)) → new_esEs14(zu311000, zu43000, bag)
new_esEs26(zu311000, zu43000, app(app(ty_@2, bgd), bge)) → new_esEs15(zu311000, zu43000, bgd, bge)
new_esEs10(zu311002, zu43002, app(ty_[], cc)) → new_esEs16(zu311002, zu43002, cc)
new_esEs7(GT, LT) → False
new_esEs7(LT, GT) → False
new_primMulNat0(Zero, Zero) → Zero
new_esEs10(zu311002, zu43002, ty_@0) → new_esEs13(zu311002, zu43002)
new_esEs21(Just(zu311000), Just(zu43000), ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bac, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs12(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs4(zu1880, zu183, app(app(app(ty_@3, bbf), bbg), bbh)) → new_esEs9(zu1880, zu183, bbf, bbg, bbh)
new_esEs26(zu311000, zu43000, app(ty_[], bgf)) → new_esEs16(zu311000, zu43000, bgf)
new_esEs4(zu1880, zu183, app(ty_Maybe, bcg)) → new_esEs21(zu1880, zu183, bcg)
new_esEs19(Left(zu311000), Left(zu43000), app(app(ty_Either, hh), baa), gh) → new_esEs19(zu311000, zu43000, hh, baa)
new_esEs26(zu311000, zu43000, app(ty_Ratio, bgc)) → new_esEs14(zu311000, zu43000, bgc)
new_esEs25(zu311001, zu43001, app(app(ty_@2, bfb), bfc)) → new_esEs15(zu311001, zu43001, bfb, bfc)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_[], hg), gh) → new_esEs16(zu311000, zu43000, hg)
new_esEs9(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), bb, bc, bd) → new_asAs(new_esEs12(zu311000, zu43000, bb), new_asAs(new_esEs11(zu311001, zu43001, bc), new_esEs10(zu311002, zu43002, bd)))
new_esEs19(Right(zu311000), Right(zu43000), bac, app(ty_Maybe, bbe)) → new_esEs21(zu311000, zu43000, bbe)
new_esEs11(zu311001, zu43001, ty_Double) → new_esEs17(zu311001, zu43001)
new_esEs24(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs17(Double(zu311000, zu311001), Double(zu43000, zu43001)) → new_esEs6(new_sr(zu311000, zu43000), new_sr(zu311001, zu43001))
new_sr(Neg(zu3110010), Pos(zu430010)) → Neg(new_primMulNat0(zu3110010, zu430010))
new_sr(Pos(zu3110010), Neg(zu430010)) → Neg(new_primMulNat0(zu3110010, zu430010))
new_esEs19(Right(zu311000), Right(zu43000), bac, app(app(ty_@2, bah), bba)) → new_esEs15(zu311000, zu43000, bah, bba)
new_esEs11(zu311001, zu43001, app(app(ty_@2, dd), de)) → new_esEs15(zu311001, zu43001, dd, de)
new_esEs6(zu31100, zu4300) → new_primEqInt(zu31100, zu4300)
new_esEs22(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, app(app(app(ty_@3, be), bf), bg)) → new_esEs9(zu311002, zu43002, be, bf, bg)
new_esEs19(Left(zu311000), Left(zu43000), app(app(app(ty_@3, ha), hb), hc), gh) → new_esEs9(zu311000, zu43000, ha, hb, hc)
new_esEs19(Left(zu311000), Left(zu43000), ty_Int, gh) → new_esEs6(zu311000, zu43000)
new_esEs22(zu311000, zu43000, app(ty_[], gd)) → new_esEs16(zu311000, zu43000, gd)
new_esEs22(zu311000, zu43000, app(ty_Ratio, ga)) → new_esEs14(zu311000, zu43000, ga)
new_esEs22(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs12(zu311000, zu43000, app(ty_Maybe, fc)) → new_esEs21(zu311000, zu43000, fc)
new_esEs7(LT, LT) → True
new_esEs25(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_Ratio, hd), gh) → new_esEs14(zu311000, zu43000, hd)
new_esEs22(zu311000, zu43000, app(app(ty_Either, ge), gf)) → new_esEs19(zu311000, zu43000, ge, gf)
new_esEs26(zu311000, zu43000, app(ty_Maybe, bha)) → new_esEs21(zu311000, zu43000, bha)
new_esEs22(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs4(zu1880, zu183, ty_Ordering) → new_esEs7(zu1880, zu183)
new_esEs4(zu1880, zu183, ty_Integer) → new_esEs8(zu1880, zu183)
new_esEs11(zu311001, zu43001, app(app(app(ty_@3, cg), da), db)) → new_esEs9(zu311001, zu43001, cg, da, db)
new_esEs10(zu311002, zu43002, ty_Bool) → new_esEs20(zu311002, zu43002)
new_esEs12(zu311000, zu43000, app(app(app(ty_@3, eb), ec), ed)) → new_esEs9(zu311000, zu43000, eb, ec, ed)
new_esEs19(Left(zu311000), Left(zu43000), ty_Float, gh) → new_esEs5(zu311000, zu43000)
new_primEqNat0(Zero, Succ(zu430000)) → False
new_primEqNat0(Succ(zu3110000), Zero) → False
new_esEs10(zu311002, zu43002, ty_Double) → new_esEs17(zu311002, zu43002)
new_esEs4(zu1880, zu183, app(ty_Ratio, bca)) → new_esEs14(zu1880, zu183, bca)
new_primPlusNat0(Zero, Zero) → Zero
new_esEs19(Left(zu311000), Left(zu43000), ty_Double, gh) → new_esEs17(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), ty_Float) → new_esEs5(zu311000, zu43000)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs19(Right(zu311000), Right(zu43000), bac, app(app(app(ty_@3, bad), bae), baf)) → new_esEs9(zu311000, zu43000, bad, bae, baf)
new_esEs26(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs5(Float(zu311000, zu311001), Float(zu43000, zu43001)) → new_esEs6(new_sr(zu311000, zu43000), new_sr(zu311001, zu43001))
new_esEs16(:(zu311000, zu311001), [], fd) → False
new_esEs16([], :(zu43000, zu43001), fd) → False
new_esEs19(Left(zu311000), Left(zu43000), ty_Integer, gh) → new_esEs8(zu311000, zu43000)
new_esEs26(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_primPlusNat1(Succ(zu740), zu4300100) → Succ(Succ(new_primPlusNat0(zu740, zu4300100)))
new_esEs23(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs7(EQ, EQ) → True
new_esEs25(zu311001, zu43001, app(ty_Ratio, bfa)) → new_esEs14(zu311001, zu43001, bfa)
new_esEs20(True, False) → False
new_esEs20(False, True) → False
new_esEs19(Right(zu311000), Right(zu43000), bac, app(ty_[], bbb)) → new_esEs16(zu311000, zu43000, bbb)
new_esEs12(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, ty_Int) → new_esEs6(zu311002, zu43002)
new_esEs19(Right(zu311000), Right(zu43000), bac, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs12(zu311000, zu43000, app(ty_[], eh)) → new_esEs16(zu311000, zu43000, eh)
new_esEs4(zu1880, zu183, ty_@0) → new_esEs13(zu1880, zu183)
new_esEs26(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs26(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs23(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs11(zu311001, zu43001, ty_Char) → new_esEs18(zu311001, zu43001)
new_esEs12(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bac, app(app(ty_Either, bbc), bbd)) → new_esEs19(zu311000, zu43000, bbc, bbd)
new_esEs11(zu311001, zu43001, app(ty_Ratio, dc)) → new_esEs14(zu311001, zu43001, dc)
new_esEs7(GT, EQ) → False
new_esEs7(EQ, GT) → False
new_esEs26(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), ty_@0, gh) → new_esEs13(zu311000, zu43000)
new_esEs25(zu311001, zu43001, ty_Double) → new_esEs17(zu311001, zu43001)
new_esEs11(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_Maybe, beb)) → new_esEs21(zu311000, zu43000, beb)
new_sr(Neg(zu3110010), Neg(zu430010)) → Pos(new_primMulNat0(zu3110010, zu430010))
new_esEs21(Just(zu311000), Just(zu43000), ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs25(zu311001, zu43001, app(app(ty_Either, bfe), bff)) → new_esEs19(zu311001, zu43001, bfe, bff)
new_esEs19(Right(zu311000), Right(zu43000), bac, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs21(Nothing, Nothing, bch) → True
new_sr(Pos(zu3110010), Pos(zu430010)) → Pos(new_primMulNat0(zu3110010, zu430010))
new_asAs(False, zu73) → False
new_primEqNat0(Zero, Zero) → True
new_esEs4(zu1880, zu183, app(app(ty_@2, bcb), bcc)) → new_esEs15(zu1880, zu183, bcb, bcc)
new_esEs24(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs11(zu311001, zu43001, ty_Float) → new_esEs5(zu311001, zu43001)
new_primMulNat0(Succ(zu31100100), Zero) → Zero
new_primMulNat0(Zero, Succ(zu4300100)) → Zero
new_esEs19(Right(zu311000), Left(zu43000), bac, gh) → False
new_esEs19(Left(zu311000), Right(zu43000), bac, gh) → False
new_esEs21(Just(zu311000), Nothing, bch) → False
new_esEs21(Nothing, Just(zu43000), bch) → False
new_primMulNat0(Succ(zu31100100), Succ(zu4300100)) → new_primPlusNat1(new_primMulNat0(zu31100100, Succ(zu4300100)), zu4300100)
new_esEs11(zu311001, zu43001, app(app(ty_Either, dg), dh)) → new_esEs19(zu311001, zu43001, dg, dh)
new_esEs25(zu311001, zu43001, ty_Ordering) → new_esEs7(zu311001, zu43001)
new_esEs25(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs8(Integer(zu311000), Integer(zu43000)) → new_primEqInt(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bac, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bac, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs4(zu1880, zu183, ty_Int) → new_esEs6(zu1880, zu183)
new_esEs21(Just(zu311000), Just(zu43000), app(app(ty_Either, bdh), bea)) → new_esEs19(zu311000, zu43000, bdh, bea)
new_esEs26(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs12(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs12(zu311000, zu43000, app(app(ty_Either, fa), fb)) → new_esEs19(zu311000, zu43000, fa, fb)
new_esEs11(zu311001, zu43001, ty_@0) → new_esEs13(zu311001, zu43001)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_[], bdg)) → new_esEs16(zu311000, zu43000, bdg)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_Maybe, bab), gh) → new_esEs21(zu311000, zu43000, bab)
new_esEs25(zu311001, zu43001, app(ty_Maybe, bfg)) → new_esEs21(zu311001, zu43001, bfg)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu430000))) → new_primEqNat0(zu3110000, zu430000)
new_esEs26(zu311000, zu43000, app(app(app(ty_@3, bfh), bga), bgb)) → new_esEs9(zu311000, zu43000, bfh, bga, bgb)
new_esEs4(zu1880, zu183, ty_Double) → new_esEs17(zu1880, zu183)
new_esEs26(zu311000, zu43000, app(app(ty_Either, bgg), bgh)) → new_esEs19(zu311000, zu43000, bgg, bgh)
new_esEs16([], [], fd) → True
new_esEs10(zu311002, zu43002, ty_Float) → new_esEs5(zu311002, zu43002)
new_esEs25(zu311001, zu43001, ty_Char) → new_esEs18(zu311001, zu43001)
new_esEs19(Right(zu311000), Right(zu43000), bac, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs11(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs19(Right(zu311000), Right(zu43000), bac, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs10(zu311002, zu43002, app(ty_Maybe, cf)) → new_esEs21(zu311002, zu43002, cf)
new_esEs21(Just(zu311000), Just(zu43000), app(app(ty_@2, bde), bdf)) → new_esEs15(zu311000, zu43000, bde, bdf)
new_esEs25(zu311001, zu43001, ty_Float) → new_esEs5(zu311001, zu43001)
new_esEs12(zu311000, zu43000, app(ty_Ratio, ee)) → new_esEs14(zu311000, zu43000, ee)
new_primEqInt(Neg(Zero), Neg(Succ(zu430000))) → False
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_esEs7(EQ, LT) → False
new_esEs7(LT, EQ) → False
new_esEs22(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_primPlusNat1(Zero, zu4300100) → Succ(zu4300100)
new_esEs10(zu311002, zu43002, app(app(ty_Either, cd), ce)) → new_esEs19(zu311002, zu43002, cd, ce)
new_esEs26(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, app(ty_Ratio, bh)) → new_esEs14(zu311002, zu43002, bh)
new_primPlusNat0(Succ(zu7400), Succ(zu43001000)) → Succ(Succ(new_primPlusNat0(zu7400, zu43001000)))
new_esEs12(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs22(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs4(zu1880, zu183, app(ty_[], bcd)) → new_esEs16(zu1880, zu183, bcd)
new_esEs10(zu311002, zu43002, ty_Ordering) → new_esEs7(zu311002, zu43002)
new_esEs25(zu311001, zu43001, app(app(app(ty_@3, bef), beg), beh)) → new_esEs9(zu311001, zu43001, bef, beg, beh)
new_esEs21(Just(zu311000), Just(zu43000), ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs4(zu1880, zu183, ty_Bool) → new_esEs20(zu1880, zu183)
new_asAs(True, zu73) → zu73
new_esEs15(@2(zu311000, zu311001), @2(zu43000, zu43001), bed, bee) → new_asAs(new_esEs26(zu311000, zu43000, bed), new_esEs25(zu311001, zu43001, bee))
new_esEs11(zu311001, zu43001, ty_Bool) → new_esEs20(zu311001, zu43001)
new_esEs14(:%(zu311000, zu311001), :%(zu43000, zu43001), bec) → new_asAs(new_esEs24(zu311000, zu43000, bec), new_esEs23(zu311001, zu43001, bec))
new_esEs19(Right(zu311000), Right(zu43000), bac, ty_Char) → new_esEs18(zu311000, zu43000)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu430000))) → new_primEqNat0(zu3110000, zu430000)
new_esEs4(zu1880, zu183, ty_Char) → new_esEs18(zu1880, zu183)
new_esEs16(:(zu311000, zu311001), :(zu43000, zu43001), fd) → new_asAs(new_esEs22(zu311000, zu43000, fd), new_esEs16(zu311001, zu43001, fd))
new_esEs26(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_primEqNat0(Succ(zu3110000), Succ(zu430000)) → new_primEqNat0(zu3110000, zu430000)
new_esEs10(zu311002, zu43002, app(app(ty_@2, ca), cb)) → new_esEs15(zu311002, zu43002, ca, cb)
new_esEs22(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_Ratio, bdd)) → new_esEs14(zu311000, zu43000, bdd)
new_esEs7(GT, GT) → True
new_esEs25(zu311001, zu43001, ty_Bool) → new_esEs20(zu311001, zu43001)
new_esEs22(zu311000, zu43000, app(app(app(ty_@3, ff), fg), fh)) → new_esEs9(zu311000, zu43000, ff, fg, fh)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(zu430000))) → False
new_esEs11(zu311001, zu43001, ty_Ordering) → new_esEs7(zu311001, zu43001)
new_esEs10(zu311002, zu43002, ty_Integer) → new_esEs8(zu311002, zu43002)
new_esEs12(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Integer) → new_esEs8(zu311000, zu43000)
new_primPlusNat0(Succ(zu7400), Zero) → Succ(zu7400)
new_primPlusNat0(Zero, Succ(zu43001000)) → Succ(zu43001000)
new_esEs12(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), ty_Bool, gh) → new_esEs20(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), ty_Char, gh) → new_esEs18(zu311000, zu43000)
new_esEs4(zu1880, zu183, ty_Float) → new_esEs5(zu1880, zu183)

The set Q consists of the following terms:

new_esEs25(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), ty_Ordering)
new_esEs21(Just(x0), Nothing, x1)
new_esEs13(@0, @0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(Just(x0), Just(x1), app(ty_[], x2))
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(LT, EQ)
new_esEs7(EQ, LT)
new_esEs4(x0, x1, ty_Double)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs19(Left(x0), Left(x1), ty_Double, x2)
new_esEs26(x0, x1, ty_Char)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs21(Just(x0), Just(x1), ty_Bool)
new_esEs25(x0, x1, app(ty_[], x2))
new_primPlusNat0(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Integer)
new_esEs4(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(Just(x0), Just(x1), ty_Integer)
new_esEs19(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs26(x0, x1, ty_@0)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs12(x0, x1, ty_Char)
new_esEs11(x0, x1, ty_Float)
new_esEs12(x0, x1, ty_Int)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(Right(x0), Right(x1), x2, ty_@0)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_esEs7(LT, LT)
new_esEs26(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Double)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Int)
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs21(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_sr(Neg(x0), Pos(x1))
new_sr(Pos(x0), Neg(x1))
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(LT, GT)
new_esEs7(GT, LT)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Integer)
new_esEs19(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs24(x0, x1, ty_Integer)
new_esEs4(x0, x1, ty_Int)
new_esEs10(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Ordering)
new_esEs4(x0, x1, ty_Bool)
new_esEs12(x0, x1, ty_@0)
new_esEs12(x0, x1, ty_Bool)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_Double)
new_esEs10(x0, x1, ty_Bool)
new_esEs8(Integer(x0), Integer(x1))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_asAs(True, x0)
new_esEs19(Right(x0), Right(x1), x2, ty_Char)
new_esEs4(x0, x1, ty_Char)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_sr(Neg(x0), Neg(x1))
new_esEs19(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs12(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs4(x0, x1, ty_Integer)
new_esEs19(Left(x0), Left(x1), ty_Integer, x2)
new_esEs25(x0, x1, ty_Int)
new_primMulNat0(Zero, Succ(x0))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs11(x0, x1, ty_Bool)
new_asAs(False, x0)
new_esEs19(Left(x0), Right(x1), x2, x3)
new_esEs19(Right(x0), Left(x1), x2, x3)
new_esEs10(x0, x1, ty_Float)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs7(GT, GT)
new_esEs22(x0, x1, ty_Float)
new_primEqNat0(Zero, Zero)
new_esEs21(Just(x0), Just(x1), ty_Double)
new_esEs5(Float(x0, x1), Float(x2, x3))
new_esEs11(x0, x1, ty_Int)
new_esEs12(x0, x1, app(ty_Ratio, x2))
new_esEs21(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs19(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs10(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_@0)
new_esEs11(x0, x1, ty_Char)
new_esEs16(:(x0, x1), [], x2)
new_esEs19(Right(x0), Right(x1), x2, ty_Int)
new_esEs26(x0, x1, ty_Float)
new_esEs4(x0, x1, ty_Float)
new_esEs19(Right(x0), Right(x1), x2, ty_Integer)
new_esEs9(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primMulNat0(Zero, Zero)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs12(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), x1)
new_esEs14(:%(x0, x1), :%(x2, x3), x4)
new_esEs19(Left(x0), Left(x1), ty_Char, x2)
new_esEs12(x0, x1, ty_Double)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs19(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_primEqNat0(Succ(x0), Zero)
new_esEs21(Nothing, Just(x0), x1)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs10(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs19(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs12(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, ty_Int)
new_esEs20(True, True)
new_esEs10(x0, x1, ty_Integer)
new_esEs7(EQ, GT)
new_esEs7(GT, EQ)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Double)
new_esEs19(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs16([], [], x0)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs19(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs19(Left(x0), Left(x1), ty_@0, x2)
new_esEs4(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Int)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Bool)
new_esEs19(Left(x0), Left(x1), ty_Float, x2)
new_esEs19(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs6(x0, x1)
new_esEs16([], :(x0, x1), x2)
new_esEs22(x0, x1, ty_Ordering)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs19(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs19(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs21(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs12(x0, x1, ty_Integer)
new_esEs19(Right(x0), Right(x1), x2, ty_Double)
new_esEs19(Left(x0), Left(x1), ty_Int, x2)
new_esEs10(x0, x1, ty_Int)
new_esEs12(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs21(Just(x0), Just(x1), ty_Float)
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs20(True, False)
new_esEs20(False, True)
new_esEs10(x0, x1, ty_Double)
new_esEs12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(Nothing, Nothing, x0)
new_esEs19(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs20(False, False)
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Just(x0), Just(x1), ty_Int)
new_primPlusNat1(Zero, x0)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Zero, Zero)
new_esEs21(Just(x0), Just(x1), ty_@0)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_primMulNat0(Succ(x0), Zero)
new_esEs18(Char(x0), Char(x1))
new_primEqNat0(Zero, Succ(x0))
new_esEs26(x0, x1, ty_Double)
new_esEs19(Right(x0), Right(x1), x2, ty_Bool)
new_esEs25(x0, x1, ty_Ordering)
new_primEqInt(Pos(Zero), Pos(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs12(x0, x1, app(ty_[], x2))
new_esEs21(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs7(EQ, EQ)
new_esEs21(Just(x0), Just(x1), ty_Char)
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Bool)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_sr(Pos(x0), Pos(x1))
new_esEs15(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs19(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs11(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Char)
new_esEs19(Right(x0), Right(x1), x2, ty_Float)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Integer)
new_esEs19(Left(x0), Left(x1), ty_Bool, x2)

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.

↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ DependencyGraphProof
QDP
                            ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_nubByNubBy'1(zu183, zu184, zu185, zu186, False, :(zu1880, zu1881), ba) → new_nubByNubBy'1(zu183, zu184, zu185, zu186, new_esEs4(zu1880, zu183, ba), zu1881, ba)
new_nubByNubBy'1(zu183, :(zu1840, zu1841), zu185, zu186, True, zu188, ba) → new_nubByNubBy'10(zu1840, zu1841, zu185, zu186, :(zu185, zu186), ba)
new_nubByNubBy'1(zu183, zu184, zu185, zu186, False, [], ba) → new_nubByNubBy'(zu184, zu183, :(zu185, zu186), ba)
new_nubByNubBy'10(zu183, zu184, zu185, zu186, :(zu1880, zu1881), ba) → new_nubByNubBy'1(zu183, zu184, zu185, zu186, new_esEs4(zu1880, zu183, ba), zu1881, ba)
new_nubByNubBy'(:(zu1840, zu1841), zu185, zu186, ba) → new_nubByNubBy'10(zu1840, zu1841, zu185, zu186, :(zu185, zu186), ba)

The TRS R consists of the following rules:

new_esEs22(zu311000, zu43000, app(app(ty_@2, gb), gc)) → new_esEs15(zu311000, zu43000, gb, gc)
new_esEs22(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs18(Char(zu311000), Char(zu43000)) → new_primEqNat0(zu311000, zu43000)
new_esEs20(True, True) → True
new_esEs25(zu311001, zu43001, app(ty_[], bfd)) → new_esEs16(zu311001, zu43001, bfd)
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu43000)) → False
new_esEs10(zu311002, zu43002, ty_Char) → new_esEs18(zu311002, zu43002)
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu43000)) → False
new_esEs12(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs25(zu311001, zu43001, ty_@0) → new_esEs13(zu311001, zu43001)
new_esEs19(Left(zu311000), Left(zu43000), ty_Ordering, gh) → new_esEs7(zu311000, zu43000)
new_esEs20(False, False) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), app(app(app(ty_@3, bda), bdb), bdc)) → new_esEs9(zu311000, zu43000, bda, bdb, bdc)
new_esEs22(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs11(zu311001, zu43001, app(ty_Maybe, ea)) → new_esEs21(zu311001, zu43001, ea)
new_primEqInt(Neg(Zero), Pos(Succ(zu430000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zu430000))) → False
new_esEs13(@0, @0) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), app(app(ty_@2, he), hf), gh) → new_esEs15(zu311000, zu43000, he, hf)
new_esEs22(zu311000, zu43000, app(ty_Maybe, gg)) → new_esEs21(zu311000, zu43000, gg)
new_esEs4(zu1880, zu183, app(app(ty_Either, bce), bcf)) → new_esEs19(zu1880, zu183, bce, bcf)
new_esEs11(zu311001, zu43001, app(ty_[], df)) → new_esEs16(zu311001, zu43001, df)
new_esEs12(zu311000, zu43000, app(app(ty_@2, ef), eg)) → new_esEs15(zu311000, zu43000, ef, eg)
new_esEs19(Right(zu311000), Right(zu43000), bac, app(ty_Ratio, bag)) → new_esEs14(zu311000, zu43000, bag)
new_esEs26(zu311000, zu43000, app(app(ty_@2, bgd), bge)) → new_esEs15(zu311000, zu43000, bgd, bge)
new_esEs10(zu311002, zu43002, app(ty_[], cc)) → new_esEs16(zu311002, zu43002, cc)
new_esEs7(GT, LT) → False
new_esEs7(LT, GT) → False
new_primMulNat0(Zero, Zero) → Zero
new_esEs10(zu311002, zu43002, ty_@0) → new_esEs13(zu311002, zu43002)
new_esEs21(Just(zu311000), Just(zu43000), ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bac, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs12(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs4(zu1880, zu183, app(app(app(ty_@3, bbf), bbg), bbh)) → new_esEs9(zu1880, zu183, bbf, bbg, bbh)
new_esEs26(zu311000, zu43000, app(ty_[], bgf)) → new_esEs16(zu311000, zu43000, bgf)
new_esEs4(zu1880, zu183, app(ty_Maybe, bcg)) → new_esEs21(zu1880, zu183, bcg)
new_esEs19(Left(zu311000), Left(zu43000), app(app(ty_Either, hh), baa), gh) → new_esEs19(zu311000, zu43000, hh, baa)
new_esEs26(zu311000, zu43000, app(ty_Ratio, bgc)) → new_esEs14(zu311000, zu43000, bgc)
new_esEs25(zu311001, zu43001, app(app(ty_@2, bfb), bfc)) → new_esEs15(zu311001, zu43001, bfb, bfc)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_[], hg), gh) → new_esEs16(zu311000, zu43000, hg)
new_esEs9(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), bb, bc, bd) → new_asAs(new_esEs12(zu311000, zu43000, bb), new_asAs(new_esEs11(zu311001, zu43001, bc), new_esEs10(zu311002, zu43002, bd)))
new_esEs19(Right(zu311000), Right(zu43000), bac, app(ty_Maybe, bbe)) → new_esEs21(zu311000, zu43000, bbe)
new_esEs11(zu311001, zu43001, ty_Double) → new_esEs17(zu311001, zu43001)
new_esEs24(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs17(Double(zu311000, zu311001), Double(zu43000, zu43001)) → new_esEs6(new_sr(zu311000, zu43000), new_sr(zu311001, zu43001))
new_sr(Neg(zu3110010), Pos(zu430010)) → Neg(new_primMulNat0(zu3110010, zu430010))
new_sr(Pos(zu3110010), Neg(zu430010)) → Neg(new_primMulNat0(zu3110010, zu430010))
new_esEs19(Right(zu311000), Right(zu43000), bac, app(app(ty_@2, bah), bba)) → new_esEs15(zu311000, zu43000, bah, bba)
new_esEs11(zu311001, zu43001, app(app(ty_@2, dd), de)) → new_esEs15(zu311001, zu43001, dd, de)
new_esEs6(zu31100, zu4300) → new_primEqInt(zu31100, zu4300)
new_esEs22(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, app(app(app(ty_@3, be), bf), bg)) → new_esEs9(zu311002, zu43002, be, bf, bg)
new_esEs19(Left(zu311000), Left(zu43000), app(app(app(ty_@3, ha), hb), hc), gh) → new_esEs9(zu311000, zu43000, ha, hb, hc)
new_esEs19(Left(zu311000), Left(zu43000), ty_Int, gh) → new_esEs6(zu311000, zu43000)
new_esEs22(zu311000, zu43000, app(ty_[], gd)) → new_esEs16(zu311000, zu43000, gd)
new_esEs22(zu311000, zu43000, app(ty_Ratio, ga)) → new_esEs14(zu311000, zu43000, ga)
new_esEs22(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs12(zu311000, zu43000, app(ty_Maybe, fc)) → new_esEs21(zu311000, zu43000, fc)
new_esEs7(LT, LT) → True
new_esEs25(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_Ratio, hd), gh) → new_esEs14(zu311000, zu43000, hd)
new_esEs22(zu311000, zu43000, app(app(ty_Either, ge), gf)) → new_esEs19(zu311000, zu43000, ge, gf)
new_esEs26(zu311000, zu43000, app(ty_Maybe, bha)) → new_esEs21(zu311000, zu43000, bha)
new_esEs22(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs4(zu1880, zu183, ty_Ordering) → new_esEs7(zu1880, zu183)
new_esEs4(zu1880, zu183, ty_Integer) → new_esEs8(zu1880, zu183)
new_esEs11(zu311001, zu43001, app(app(app(ty_@3, cg), da), db)) → new_esEs9(zu311001, zu43001, cg, da, db)
new_esEs10(zu311002, zu43002, ty_Bool) → new_esEs20(zu311002, zu43002)
new_esEs12(zu311000, zu43000, app(app(app(ty_@3, eb), ec), ed)) → new_esEs9(zu311000, zu43000, eb, ec, ed)
new_esEs19(Left(zu311000), Left(zu43000), ty_Float, gh) → new_esEs5(zu311000, zu43000)
new_primEqNat0(Zero, Succ(zu430000)) → False
new_primEqNat0(Succ(zu3110000), Zero) → False
new_esEs10(zu311002, zu43002, ty_Double) → new_esEs17(zu311002, zu43002)
new_esEs4(zu1880, zu183, app(ty_Ratio, bca)) → new_esEs14(zu1880, zu183, bca)
new_primPlusNat0(Zero, Zero) → Zero
new_esEs19(Left(zu311000), Left(zu43000), ty_Double, gh) → new_esEs17(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), ty_Float) → new_esEs5(zu311000, zu43000)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs19(Right(zu311000), Right(zu43000), bac, app(app(app(ty_@3, bad), bae), baf)) → new_esEs9(zu311000, zu43000, bad, bae, baf)
new_esEs26(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs5(Float(zu311000, zu311001), Float(zu43000, zu43001)) → new_esEs6(new_sr(zu311000, zu43000), new_sr(zu311001, zu43001))
new_esEs16(:(zu311000, zu311001), [], fd) → False
new_esEs16([], :(zu43000, zu43001), fd) → False
new_esEs19(Left(zu311000), Left(zu43000), ty_Integer, gh) → new_esEs8(zu311000, zu43000)
new_esEs26(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_primPlusNat1(Succ(zu740), zu4300100) → Succ(Succ(new_primPlusNat0(zu740, zu4300100)))
new_esEs23(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs7(EQ, EQ) → True
new_esEs25(zu311001, zu43001, app(ty_Ratio, bfa)) → new_esEs14(zu311001, zu43001, bfa)
new_esEs20(True, False) → False
new_esEs20(False, True) → False
new_esEs19(Right(zu311000), Right(zu43000), bac, app(ty_[], bbb)) → new_esEs16(zu311000, zu43000, bbb)
new_esEs12(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, ty_Int) → new_esEs6(zu311002, zu43002)
new_esEs19(Right(zu311000), Right(zu43000), bac, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs12(zu311000, zu43000, app(ty_[], eh)) → new_esEs16(zu311000, zu43000, eh)
new_esEs4(zu1880, zu183, ty_@0) → new_esEs13(zu1880, zu183)
new_esEs26(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs26(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs23(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs11(zu311001, zu43001, ty_Char) → new_esEs18(zu311001, zu43001)
new_esEs12(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bac, app(app(ty_Either, bbc), bbd)) → new_esEs19(zu311000, zu43000, bbc, bbd)
new_esEs11(zu311001, zu43001, app(ty_Ratio, dc)) → new_esEs14(zu311001, zu43001, dc)
new_esEs7(GT, EQ) → False
new_esEs7(EQ, GT) → False
new_esEs26(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), ty_@0, gh) → new_esEs13(zu311000, zu43000)
new_esEs25(zu311001, zu43001, ty_Double) → new_esEs17(zu311001, zu43001)
new_esEs11(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_Maybe, beb)) → new_esEs21(zu311000, zu43000, beb)
new_sr(Neg(zu3110010), Neg(zu430010)) → Pos(new_primMulNat0(zu3110010, zu430010))
new_esEs21(Just(zu311000), Just(zu43000), ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs25(zu311001, zu43001, app(app(ty_Either, bfe), bff)) → new_esEs19(zu311001, zu43001, bfe, bff)
new_esEs19(Right(zu311000), Right(zu43000), bac, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs21(Nothing, Nothing, bch) → True
new_sr(Pos(zu3110010), Pos(zu430010)) → Pos(new_primMulNat0(zu3110010, zu430010))
new_asAs(False, zu73) → False
new_primEqNat0(Zero, Zero) → True
new_esEs4(zu1880, zu183, app(app(ty_@2, bcb), bcc)) → new_esEs15(zu1880, zu183, bcb, bcc)
new_esEs24(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs11(zu311001, zu43001, ty_Float) → new_esEs5(zu311001, zu43001)
new_primMulNat0(Succ(zu31100100), Zero) → Zero
new_primMulNat0(Zero, Succ(zu4300100)) → Zero
new_esEs19(Right(zu311000), Left(zu43000), bac, gh) → False
new_esEs19(Left(zu311000), Right(zu43000), bac, gh) → False
new_esEs21(Just(zu311000), Nothing, bch) → False
new_esEs21(Nothing, Just(zu43000), bch) → False
new_primMulNat0(Succ(zu31100100), Succ(zu4300100)) → new_primPlusNat1(new_primMulNat0(zu31100100, Succ(zu4300100)), zu4300100)
new_esEs11(zu311001, zu43001, app(app(ty_Either, dg), dh)) → new_esEs19(zu311001, zu43001, dg, dh)
new_esEs25(zu311001, zu43001, ty_Ordering) → new_esEs7(zu311001, zu43001)
new_esEs25(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs8(Integer(zu311000), Integer(zu43000)) → new_primEqInt(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bac, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bac, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs4(zu1880, zu183, ty_Int) → new_esEs6(zu1880, zu183)
new_esEs21(Just(zu311000), Just(zu43000), app(app(ty_Either, bdh), bea)) → new_esEs19(zu311000, zu43000, bdh, bea)
new_esEs26(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs12(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs12(zu311000, zu43000, app(app(ty_Either, fa), fb)) → new_esEs19(zu311000, zu43000, fa, fb)
new_esEs11(zu311001, zu43001, ty_@0) → new_esEs13(zu311001, zu43001)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_[], bdg)) → new_esEs16(zu311000, zu43000, bdg)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_Maybe, bab), gh) → new_esEs21(zu311000, zu43000, bab)
new_esEs25(zu311001, zu43001, app(ty_Maybe, bfg)) → new_esEs21(zu311001, zu43001, bfg)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu430000))) → new_primEqNat0(zu3110000, zu430000)
new_esEs26(zu311000, zu43000, app(app(app(ty_@3, bfh), bga), bgb)) → new_esEs9(zu311000, zu43000, bfh, bga, bgb)
new_esEs4(zu1880, zu183, ty_Double) → new_esEs17(zu1880, zu183)
new_esEs26(zu311000, zu43000, app(app(ty_Either, bgg), bgh)) → new_esEs19(zu311000, zu43000, bgg, bgh)
new_esEs16([], [], fd) → True
new_esEs10(zu311002, zu43002, ty_Float) → new_esEs5(zu311002, zu43002)
new_esEs25(zu311001, zu43001, ty_Char) → new_esEs18(zu311001, zu43001)
new_esEs19(Right(zu311000), Right(zu43000), bac, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs11(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs19(Right(zu311000), Right(zu43000), bac, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs10(zu311002, zu43002, app(ty_Maybe, cf)) → new_esEs21(zu311002, zu43002, cf)
new_esEs21(Just(zu311000), Just(zu43000), app(app(ty_@2, bde), bdf)) → new_esEs15(zu311000, zu43000, bde, bdf)
new_esEs25(zu311001, zu43001, ty_Float) → new_esEs5(zu311001, zu43001)
new_esEs12(zu311000, zu43000, app(ty_Ratio, ee)) → new_esEs14(zu311000, zu43000, ee)
new_primEqInt(Neg(Zero), Neg(Succ(zu430000))) → False
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_esEs7(EQ, LT) → False
new_esEs7(LT, EQ) → False
new_esEs22(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_primPlusNat1(Zero, zu4300100) → Succ(zu4300100)
new_esEs10(zu311002, zu43002, app(app(ty_Either, cd), ce)) → new_esEs19(zu311002, zu43002, cd, ce)
new_esEs26(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, app(ty_Ratio, bh)) → new_esEs14(zu311002, zu43002, bh)
new_primPlusNat0(Succ(zu7400), Succ(zu43001000)) → Succ(Succ(new_primPlusNat0(zu7400, zu43001000)))
new_esEs12(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs22(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs4(zu1880, zu183, app(ty_[], bcd)) → new_esEs16(zu1880, zu183, bcd)
new_esEs10(zu311002, zu43002, ty_Ordering) → new_esEs7(zu311002, zu43002)
new_esEs25(zu311001, zu43001, app(app(app(ty_@3, bef), beg), beh)) → new_esEs9(zu311001, zu43001, bef, beg, beh)
new_esEs21(Just(zu311000), Just(zu43000), ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs4(zu1880, zu183, ty_Bool) → new_esEs20(zu1880, zu183)
new_asAs(True, zu73) → zu73
new_esEs15(@2(zu311000, zu311001), @2(zu43000, zu43001), bed, bee) → new_asAs(new_esEs26(zu311000, zu43000, bed), new_esEs25(zu311001, zu43001, bee))
new_esEs11(zu311001, zu43001, ty_Bool) → new_esEs20(zu311001, zu43001)
new_esEs14(:%(zu311000, zu311001), :%(zu43000, zu43001), bec) → new_asAs(new_esEs24(zu311000, zu43000, bec), new_esEs23(zu311001, zu43001, bec))
new_esEs19(Right(zu311000), Right(zu43000), bac, ty_Char) → new_esEs18(zu311000, zu43000)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu430000))) → new_primEqNat0(zu3110000, zu430000)
new_esEs4(zu1880, zu183, ty_Char) → new_esEs18(zu1880, zu183)
new_esEs16(:(zu311000, zu311001), :(zu43000, zu43001), fd) → new_asAs(new_esEs22(zu311000, zu43000, fd), new_esEs16(zu311001, zu43001, fd))
new_esEs26(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_primEqNat0(Succ(zu3110000), Succ(zu430000)) → new_primEqNat0(zu3110000, zu430000)
new_esEs10(zu311002, zu43002, app(app(ty_@2, ca), cb)) → new_esEs15(zu311002, zu43002, ca, cb)
new_esEs22(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_Ratio, bdd)) → new_esEs14(zu311000, zu43000, bdd)
new_esEs7(GT, GT) → True
new_esEs25(zu311001, zu43001, ty_Bool) → new_esEs20(zu311001, zu43001)
new_esEs22(zu311000, zu43000, app(app(app(ty_@3, ff), fg), fh)) → new_esEs9(zu311000, zu43000, ff, fg, fh)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(zu430000))) → False
new_esEs11(zu311001, zu43001, ty_Ordering) → new_esEs7(zu311001, zu43001)
new_esEs10(zu311002, zu43002, ty_Integer) → new_esEs8(zu311002, zu43002)
new_esEs12(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Integer) → new_esEs8(zu311000, zu43000)
new_primPlusNat0(Succ(zu7400), Zero) → Succ(zu7400)
new_primPlusNat0(Zero, Succ(zu43001000)) → Succ(zu43001000)
new_esEs12(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), ty_Bool, gh) → new_esEs20(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), ty_Char, gh) → new_esEs18(zu311000, zu43000)
new_esEs4(zu1880, zu183, ty_Float) → new_esEs5(zu1880, zu183)

The set Q consists of the following terms:

new_esEs25(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), ty_Ordering)
new_esEs21(Just(x0), Nothing, x1)
new_esEs13(@0, @0)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(Just(x0), Just(x1), app(ty_[], x2))
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(LT, EQ)
new_esEs7(EQ, LT)
new_esEs4(x0, x1, ty_Double)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs19(Left(x0), Left(x1), ty_Double, x2)
new_esEs26(x0, x1, ty_Char)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs21(Just(x0), Just(x1), ty_Bool)
new_esEs25(x0, x1, app(ty_[], x2))
new_primPlusNat0(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Integer)
new_esEs4(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(Just(x0), Just(x1), ty_Integer)
new_esEs19(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs26(x0, x1, ty_@0)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs12(x0, x1, ty_Char)
new_esEs11(x0, x1, ty_Float)
new_esEs12(x0, x1, ty_Int)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(Right(x0), Right(x1), x2, ty_@0)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_esEs7(LT, LT)
new_esEs26(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Double)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Int)
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs21(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_sr(Neg(x0), Pos(x1))
new_sr(Pos(x0), Neg(x1))
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(LT, GT)
new_esEs7(GT, LT)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Integer)
new_esEs19(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs24(x0, x1, ty_Integer)
new_esEs4(x0, x1, ty_Int)
new_esEs10(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Ordering)
new_esEs4(x0, x1, ty_Bool)
new_esEs12(x0, x1, ty_@0)
new_esEs12(x0, x1, ty_Bool)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_Double)
new_esEs10(x0, x1, ty_Bool)
new_esEs8(Integer(x0), Integer(x1))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_asAs(True, x0)
new_esEs19(Right(x0), Right(x1), x2, ty_Char)
new_esEs4(x0, x1, ty_Char)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_sr(Neg(x0), Neg(x1))
new_esEs19(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs12(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs4(x0, x1, ty_Integer)
new_esEs19(Left(x0), Left(x1), ty_Integer, x2)
new_esEs25(x0, x1, ty_Int)
new_primMulNat0(Zero, Succ(x0))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs11(x0, x1, ty_Bool)
new_asAs(False, x0)
new_esEs19(Left(x0), Right(x1), x2, x3)
new_esEs19(Right(x0), Left(x1), x2, x3)
new_esEs10(x0, x1, ty_Float)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs7(GT, GT)
new_esEs22(x0, x1, ty_Float)
new_primEqNat0(Zero, Zero)
new_esEs21(Just(x0), Just(x1), ty_Double)
new_esEs5(Float(x0, x1), Float(x2, x3))
new_esEs11(x0, x1, ty_Int)
new_esEs12(x0, x1, app(ty_Ratio, x2))
new_esEs21(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs19(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs10(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_@0)
new_esEs11(x0, x1, ty_Char)
new_esEs16(:(x0, x1), [], x2)
new_esEs19(Right(x0), Right(x1), x2, ty_Int)
new_esEs26(x0, x1, ty_Float)
new_esEs4(x0, x1, ty_Float)
new_esEs19(Right(x0), Right(x1), x2, ty_Integer)
new_esEs9(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primMulNat0(Zero, Zero)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs12(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), x1)
new_esEs14(:%(x0, x1), :%(x2, x3), x4)
new_esEs19(Left(x0), Left(x1), ty_Char, x2)
new_esEs12(x0, x1, ty_Double)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs19(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_primEqNat0(Succ(x0), Zero)
new_esEs21(Nothing, Just(x0), x1)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs10(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs19(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs12(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, ty_Int)
new_esEs20(True, True)
new_esEs10(x0, x1, ty_Integer)
new_esEs7(EQ, GT)
new_esEs7(GT, EQ)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Double)
new_esEs19(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs16([], [], x0)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs19(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs19(Left(x0), Left(x1), ty_@0, x2)
new_esEs4(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Int)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Bool)
new_esEs19(Left(x0), Left(x1), ty_Float, x2)
new_esEs19(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs6(x0, x1)
new_esEs16([], :(x0, x1), x2)
new_esEs22(x0, x1, ty_Ordering)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs19(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs19(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs21(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs12(x0, x1, ty_Integer)
new_esEs19(Right(x0), Right(x1), x2, ty_Double)
new_esEs19(Left(x0), Left(x1), ty_Int, x2)
new_esEs10(x0, x1, ty_Int)
new_esEs12(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs21(Just(x0), Just(x1), ty_Float)
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs20(True, False)
new_esEs20(False, True)
new_esEs10(x0, x1, ty_Double)
new_esEs12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(Nothing, Nothing, x0)
new_esEs19(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs20(False, False)
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Just(x0), Just(x1), ty_Int)
new_primPlusNat1(Zero, x0)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Zero, Zero)
new_esEs21(Just(x0), Just(x1), ty_@0)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_primMulNat0(Succ(x0), Zero)
new_esEs18(Char(x0), Char(x1))
new_primEqNat0(Zero, Succ(x0))
new_esEs26(x0, x1, ty_Double)
new_esEs19(Right(x0), Right(x1), x2, ty_Bool)
new_esEs25(x0, x1, ty_Ordering)
new_primEqInt(Pos(Zero), Pos(Zero))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs12(x0, x1, app(ty_[], x2))
new_esEs21(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs7(EQ, EQ)
new_esEs21(Just(x0), Just(x1), ty_Char)
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Bool)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_sr(Pos(x0), Pos(x1))
new_esEs15(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs19(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs11(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Char)
new_esEs19(Right(x0), Right(x1), x2, ty_Float)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Integer)
new_esEs19(Left(x0), Left(x1), ty_Bool, x2)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ DependencyGraphProof
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_deleteBy(Nothing, :(Just(zu4300), zu431), ba) → new_deleteBy(Nothing, zu431, ba)
new_deleteBy(Just(zu31100), :(Nothing, zu431), ba) → new_deleteBy(Just(zu31100), zu431, ba)
new_deleteBy(Just(zu31100), :(Just(zu4300), zu431), ba) → new_deleteBy0(zu431, zu4300, zu31100, new_esEs27(zu31100, zu4300, ba), ba)
new_deleteBy0(zu50, zu51, zu52, False, bb) → new_deleteBy(Just(zu52), zu50, bb)

The TRS R consists of the following rules:

new_esEs22(zu311000, zu43000, app(app(ty_@2, gc), gd)) → new_esEs15(zu311000, zu43000, gc, gd)
new_esEs22(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs18(Char(zu311000), Char(zu43000)) → new_primEqNat0(zu311000, zu43000)
new_esEs27(zu31100, zu4300, app(ty_[], ff)) → new_esEs16(zu31100, zu4300, ff)
new_esEs20(True, True) → True
new_esEs25(zu311001, zu43001, app(ty_[], bec)) → new_esEs16(zu311001, zu43001, bec)
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu43000)) → False
new_esEs10(zu311002, zu43002, ty_Char) → new_esEs18(zu311002, zu43002)
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu43000)) → False
new_esEs12(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs25(zu311001, zu43001, ty_@0) → new_esEs13(zu311001, zu43001)
new_esEs19(Left(zu311000), Left(zu43000), ty_Ordering, ha) → new_esEs7(zu311000, zu43000)
new_esEs20(False, False) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), app(app(app(ty_@3, bbh), bca), bcb)) → new_esEs9(zu311000, zu43000, bbh, bca, bcb)
new_esEs22(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs11(zu311001, zu43001, app(ty_Maybe, eb)) → new_esEs21(zu311001, zu43001, eb)
new_primEqInt(Neg(Zero), Pos(Succ(zu430000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zu430000))) → False
new_esEs13(@0, @0) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), app(app(ty_@2, hf), hg), ha) → new_esEs15(zu311000, zu43000, hf, hg)
new_esEs22(zu311000, zu43000, app(ty_Maybe, gh)) → new_esEs21(zu311000, zu43000, gh)
new_esEs11(zu311001, zu43001, app(ty_[], dg)) → new_esEs16(zu311001, zu43001, dg)
new_esEs12(zu311000, zu43000, app(app(ty_@2, eg), eh)) → new_esEs15(zu311000, zu43000, eg, eh)
new_esEs19(Right(zu311000), Right(zu43000), bad, app(ty_Ratio, bah)) → new_esEs14(zu311000, zu43000, bah)
new_esEs27(zu31100, zu4300, app(app(app(ty_@3, bc), bd), be)) → new_esEs9(zu31100, zu4300, bc, bd, be)
new_esEs26(zu311000, zu43000, app(app(ty_@2, bfc), bfd)) → new_esEs15(zu311000, zu43000, bfc, bfd)
new_esEs10(zu311002, zu43002, app(ty_[], cd)) → new_esEs16(zu311002, zu43002, cd)
new_esEs7(GT, LT) → False
new_esEs7(LT, GT) → False
new_primMulNat0(Zero, Zero) → Zero
new_esEs10(zu311002, zu43002, ty_@0) → new_esEs13(zu311002, zu43002)
new_esEs21(Just(zu311000), Just(zu43000), ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs12(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs26(zu311000, zu43000, app(ty_[], bfe)) → new_esEs16(zu311000, zu43000, bfe)
new_esEs19(Left(zu311000), Left(zu43000), app(app(ty_Either, baa), bab), ha) → new_esEs19(zu311000, zu43000, baa, bab)
new_esEs26(zu311000, zu43000, app(ty_Ratio, bfb)) → new_esEs14(zu311000, zu43000, bfb)
new_esEs27(zu31100, zu4300, app(app(ty_@2, bdc), bdd)) → new_esEs15(zu31100, zu4300, bdc, bdd)
new_esEs25(zu311001, zu43001, app(app(ty_@2, bea), beb)) → new_esEs15(zu311001, zu43001, bea, beb)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_[], hh), ha) → new_esEs16(zu311000, zu43000, hh)
new_esEs27(zu31100, zu4300, ty_Bool) → new_esEs20(zu31100, zu4300)
new_esEs9(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), bc, bd, be) → new_asAs(new_esEs12(zu311000, zu43000, bc), new_asAs(new_esEs11(zu311001, zu43001, bd), new_esEs10(zu311002, zu43002, be)))
new_esEs19(Right(zu311000), Right(zu43000), bad, app(ty_Maybe, bbf)) → new_esEs21(zu311000, zu43000, bbf)
new_esEs11(zu311001, zu43001, ty_Double) → new_esEs17(zu311001, zu43001)
new_esEs24(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs17(Double(zu311000, zu311001), Double(zu43000, zu43001)) → new_esEs6(new_sr(zu311000, zu43000), new_sr(zu311001, zu43001))
new_sr(Neg(zu3110010), Pos(zu430010)) → Neg(new_primMulNat0(zu3110010, zu430010))
new_sr(Pos(zu3110010), Neg(zu430010)) → Neg(new_primMulNat0(zu3110010, zu430010))
new_esEs19(Right(zu311000), Right(zu43000), bad, app(app(ty_@2, bba), bbb)) → new_esEs15(zu311000, zu43000, bba, bbb)
new_esEs11(zu311001, zu43001, app(app(ty_@2, de), df)) → new_esEs15(zu311001, zu43001, de, df)
new_esEs6(zu31100, zu4300) → new_primEqInt(zu31100, zu4300)
new_esEs22(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, app(app(app(ty_@3, bf), bg), bh)) → new_esEs9(zu311002, zu43002, bf, bg, bh)
new_esEs19(Left(zu311000), Left(zu43000), app(app(app(ty_@3, hb), hc), hd), ha) → new_esEs9(zu311000, zu43000, hb, hc, hd)
new_esEs19(Left(zu311000), Left(zu43000), ty_Int, ha) → new_esEs6(zu311000, zu43000)
new_esEs22(zu311000, zu43000, app(ty_[], ge)) → new_esEs16(zu311000, zu43000, ge)
new_esEs22(zu311000, zu43000, app(ty_Ratio, gb)) → new_esEs14(zu311000, zu43000, gb)
new_esEs22(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs12(zu311000, zu43000, app(ty_Maybe, fd)) → new_esEs21(zu311000, zu43000, fd)
new_esEs7(LT, LT) → True
new_esEs25(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_Ratio, he), ha) → new_esEs14(zu311000, zu43000, he)
new_esEs22(zu311000, zu43000, app(app(ty_Either, gf), gg)) → new_esEs19(zu311000, zu43000, gf, gg)
new_esEs26(zu311000, zu43000, app(ty_Maybe, bfh)) → new_esEs21(zu311000, zu43000, bfh)
new_esEs22(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs11(zu311001, zu43001, app(app(app(ty_@3, da), db), dc)) → new_esEs9(zu311001, zu43001, da, db, dc)
new_esEs10(zu311002, zu43002, ty_Bool) → new_esEs20(zu311002, zu43002)
new_esEs12(zu311000, zu43000, app(app(app(ty_@3, ec), ed), ee)) → new_esEs9(zu311000, zu43000, ec, ed, ee)
new_esEs19(Left(zu311000), Left(zu43000), ty_Float, ha) → new_esEs5(zu311000, zu43000)
new_primEqNat0(Zero, Succ(zu430000)) → False
new_primEqNat0(Succ(zu3110000), Zero) → False
new_esEs10(zu311002, zu43002, ty_Double) → new_esEs17(zu311002, zu43002)
new_primPlusNat0(Zero, Zero) → Zero
new_esEs19(Left(zu311000), Left(zu43000), ty_Double, ha) → new_esEs17(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), ty_Float) → new_esEs5(zu311000, zu43000)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs19(Right(zu311000), Right(zu43000), bad, app(app(app(ty_@3, bae), baf), bag)) → new_esEs9(zu311000, zu43000, bae, baf, bag)
new_esEs26(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs5(Float(zu311000, zu311001), Float(zu43000, zu43001)) → new_esEs6(new_sr(zu311000, zu43000), new_sr(zu311001, zu43001))
new_esEs16(:(zu311000, zu311001), [], ff) → False
new_esEs16([], :(zu43000, zu43001), ff) → False
new_esEs19(Left(zu311000), Left(zu43000), ty_Integer, ha) → new_esEs8(zu311000, zu43000)
new_esEs26(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_primPlusNat1(Succ(zu740), zu4300100) → Succ(Succ(new_primPlusNat0(zu740, zu4300100)))
new_esEs23(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs7(EQ, EQ) → True
new_esEs25(zu311001, zu43001, app(ty_Ratio, bdh)) → new_esEs14(zu311001, zu43001, bdh)
new_esEs20(True, False) → False
new_esEs20(False, True) → False
new_esEs19(Right(zu311000), Right(zu43000), bad, app(ty_[], bbc)) → new_esEs16(zu311000, zu43000, bbc)
new_esEs12(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, ty_Int) → new_esEs6(zu311002, zu43002)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs12(zu311000, zu43000, app(ty_[], fa)) → new_esEs16(zu311000, zu43000, fa)
new_esEs26(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs26(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs23(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs11(zu311001, zu43001, ty_Char) → new_esEs18(zu311001, zu43001)
new_esEs12(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, app(app(ty_Either, bbd), bbe)) → new_esEs19(zu311000, zu43000, bbd, bbe)
new_esEs11(zu311001, zu43001, app(ty_Ratio, dd)) → new_esEs14(zu311001, zu43001, dd)
new_esEs7(GT, EQ) → False
new_esEs7(EQ, GT) → False
new_esEs26(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs27(zu31100, zu4300, app(ty_Ratio, bdb)) → new_esEs14(zu31100, zu4300, bdb)
new_esEs19(Left(zu311000), Left(zu43000), ty_@0, ha) → new_esEs13(zu311000, zu43000)
new_esEs25(zu311001, zu43001, ty_Double) → new_esEs17(zu311001, zu43001)
new_esEs11(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_Maybe, bda)) → new_esEs21(zu311000, zu43000, bda)
new_sr(Neg(zu3110010), Neg(zu430010)) → Pos(new_primMulNat0(zu3110010, zu430010))
new_esEs21(Just(zu311000), Just(zu43000), ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs25(zu311001, zu43001, app(app(ty_Either, bed), bee)) → new_esEs19(zu311001, zu43001, bed, bee)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs21(Nothing, Nothing, bbg) → True
new_sr(Pos(zu3110010), Pos(zu430010)) → Pos(new_primMulNat0(zu3110010, zu430010))
new_asAs(False, zu73) → False
new_primEqNat0(Zero, Zero) → True
new_esEs24(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs11(zu311001, zu43001, ty_Float) → new_esEs5(zu311001, zu43001)
new_primMulNat0(Succ(zu31100100), Zero) → Zero
new_primMulNat0(Zero, Succ(zu4300100)) → Zero
new_esEs19(Right(zu311000), Left(zu43000), bad, ha) → False
new_esEs19(Left(zu311000), Right(zu43000), bad, ha) → False
new_esEs21(Just(zu311000), Nothing, bbg) → False
new_esEs21(Nothing, Just(zu43000), bbg) → False
new_primMulNat0(Succ(zu31100100), Succ(zu4300100)) → new_primPlusNat1(new_primMulNat0(zu31100100, Succ(zu4300100)), zu4300100)
new_esEs27(zu31100, zu4300, ty_Float) → new_esEs5(zu31100, zu4300)
new_esEs11(zu311001, zu43001, app(app(ty_Either, dh), ea)) → new_esEs19(zu311001, zu43001, dh, ea)
new_esEs25(zu311001, zu43001, ty_Ordering) → new_esEs7(zu311001, zu43001)
new_esEs27(zu31100, zu4300, app(ty_Maybe, bbg)) → new_esEs21(zu31100, zu4300, bbg)
new_esEs25(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs27(zu31100, zu4300, ty_Ordering) → new_esEs7(zu31100, zu4300)
new_esEs8(Integer(zu311000), Integer(zu43000)) → new_primEqInt(zu311000, zu43000)
new_esEs27(zu31100, zu4300, ty_@0) → new_esEs13(zu31100, zu4300)
new_esEs21(Just(zu311000), Just(zu43000), ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs27(zu31100, zu4300, ty_Double) → new_esEs17(zu31100, zu4300)
new_esEs21(Just(zu311000), Just(zu43000), app(app(ty_Either, bcg), bch)) → new_esEs19(zu311000, zu43000, bcg, bch)
new_esEs26(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs12(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs27(zu31100, zu4300, ty_Integer) → new_esEs8(zu31100, zu4300)
new_esEs12(zu311000, zu43000, app(app(ty_Either, fb), fc)) → new_esEs19(zu311000, zu43000, fb, fc)
new_esEs11(zu311001, zu43001, ty_@0) → new_esEs13(zu311001, zu43001)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_[], bcf)) → new_esEs16(zu311000, zu43000, bcf)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_Maybe, bac), ha) → new_esEs21(zu311000, zu43000, bac)
new_esEs25(zu311001, zu43001, app(ty_Maybe, bef)) → new_esEs21(zu311001, zu43001, bef)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu430000))) → new_primEqNat0(zu3110000, zu430000)
new_esEs26(zu311000, zu43000, app(app(app(ty_@3, beg), beh), bfa)) → new_esEs9(zu311000, zu43000, beg, beh, bfa)
new_esEs26(zu311000, zu43000, app(app(ty_Either, bff), bfg)) → new_esEs19(zu311000, zu43000, bff, bfg)
new_esEs16([], [], ff) → True
new_esEs10(zu311002, zu43002, ty_Float) → new_esEs5(zu311002, zu43002)
new_esEs25(zu311001, zu43001, ty_Char) → new_esEs18(zu311001, zu43001)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs11(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs10(zu311002, zu43002, app(ty_Maybe, cg)) → new_esEs21(zu311002, zu43002, cg)
new_esEs21(Just(zu311000), Just(zu43000), app(app(ty_@2, bcd), bce)) → new_esEs15(zu311000, zu43000, bcd, bce)
new_esEs25(zu311001, zu43001, ty_Float) → new_esEs5(zu311001, zu43001)
new_esEs12(zu311000, zu43000, app(ty_Ratio, ef)) → new_esEs14(zu311000, zu43000, ef)
new_primEqInt(Neg(Zero), Neg(Succ(zu430000))) → False
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_esEs7(EQ, LT) → False
new_esEs7(LT, EQ) → False
new_esEs22(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_primPlusNat1(Zero, zu4300100) → Succ(zu4300100)
new_esEs10(zu311002, zu43002, app(app(ty_Either, ce), cf)) → new_esEs19(zu311002, zu43002, ce, cf)
new_esEs26(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, app(ty_Ratio, ca)) → new_esEs14(zu311002, zu43002, ca)
new_primPlusNat0(Succ(zu7400), Succ(zu43001000)) → Succ(Succ(new_primPlusNat0(zu7400, zu43001000)))
new_esEs12(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs22(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs10(zu311002, zu43002, ty_Ordering) → new_esEs7(zu311002, zu43002)
new_esEs25(zu311001, zu43001, app(app(app(ty_@3, bde), bdf), bdg)) → new_esEs9(zu311001, zu43001, bde, bdf, bdg)
new_esEs21(Just(zu311000), Just(zu43000), ty_@0) → new_esEs13(zu311000, zu43000)
new_asAs(True, zu73) → zu73
new_esEs15(@2(zu311000, zu311001), @2(zu43000, zu43001), bdc, bdd) → new_asAs(new_esEs26(zu311000, zu43000, bdc), new_esEs25(zu311001, zu43001, bdd))
new_esEs27(zu31100, zu4300, app(app(ty_Either, bad), ha)) → new_esEs19(zu31100, zu4300, bad, ha)
new_esEs11(zu311001, zu43001, ty_Bool) → new_esEs20(zu311001, zu43001)
new_esEs14(:%(zu311000, zu311001), :%(zu43000, zu43001), bdb) → new_asAs(new_esEs24(zu311000, zu43000, bdb), new_esEs23(zu311001, zu43001, bdb))
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Char) → new_esEs18(zu311000, zu43000)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu430000))) → new_primEqNat0(zu3110000, zu430000)
new_esEs16(:(zu311000, zu311001), :(zu43000, zu43001), ff) → new_asAs(new_esEs22(zu311000, zu43000, ff), new_esEs16(zu311001, zu43001, ff))
new_esEs26(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_primEqNat0(Succ(zu3110000), Succ(zu430000)) → new_primEqNat0(zu3110000, zu430000)
new_esEs27(zu31100, zu4300, ty_Char) → new_esEs18(zu31100, zu4300)
new_esEs10(zu311002, zu43002, app(app(ty_@2, cb), cc)) → new_esEs15(zu311002, zu43002, cb, cc)
new_esEs22(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_Ratio, bcc)) → new_esEs14(zu311000, zu43000, bcc)
new_esEs7(GT, GT) → True
new_esEs25(zu311001, zu43001, ty_Bool) → new_esEs20(zu311001, zu43001)
new_esEs27(zu31100, zu4300, ty_Int) → new_esEs6(zu31100, zu4300)
new_esEs22(zu311000, zu43000, app(app(app(ty_@3, fg), fh), ga)) → new_esEs9(zu311000, zu43000, fg, fh, ga)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(zu430000))) → False
new_esEs11(zu311001, zu43001, ty_Ordering) → new_esEs7(zu311001, zu43001)
new_esEs10(zu311002, zu43002, ty_Integer) → new_esEs8(zu311002, zu43002)
new_esEs12(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Integer) → new_esEs8(zu311000, zu43000)
new_primPlusNat0(Succ(zu7400), Zero) → Succ(zu7400)
new_primPlusNat0(Zero, Succ(zu43001000)) → Succ(zu43001000)
new_esEs12(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), ty_Bool, ha) → new_esEs20(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), ty_Char, ha) → new_esEs18(zu311000, zu43000)

The set Q consists of the following terms:

new_esEs25(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), ty_Ordering)
new_esEs13(@0, @0)
new_esEs9(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs7(LT, EQ)
new_esEs7(EQ, LT)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs26(x0, x1, ty_Char)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs21(Just(x0), Just(x1), ty_Bool)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat0(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_@0)
new_esEs19(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs21(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs19(Right(x0), Right(x1), x2, ty_Int)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs12(x0, x1, ty_Char)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Float)
new_esEs19(Left(x0), Left(x1), ty_@0, x2)
new_esEs19(Right(x0), Right(x1), x2, ty_Double)
new_esEs12(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs19(Left(x0), Left(x1), ty_Double, x2)
new_esEs26(x0, x1, ty_Int)
new_esEs7(LT, LT)
new_esEs22(x0, x1, ty_Double)
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs23(x0, x1, ty_Int)
new_esEs19(Left(x0), Left(x1), ty_Int, x2)
new_primEqInt(Neg(Zero), Neg(Zero))
new_sr(Neg(x0), Pos(x1))
new_sr(Pos(x0), Neg(x1))
new_esEs27(x0, x1, ty_Ordering)
new_esEs16([], [], x0)
new_esEs7(LT, GT)
new_esEs7(GT, LT)
new_esEs19(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs11(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, ty_Integer)
new_esEs19(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs27(x0, x1, ty_Bool)
new_esEs10(x0, x1, ty_Char)
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs14(:%(x0, x1), :%(x2, x3), x4)
new_esEs12(x0, x1, ty_@0)
new_esEs12(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_Double)
new_esEs10(x0, x1, ty_Bool)
new_esEs8(Integer(x0), Integer(x1))
new_esEs16([], :(x0, x1), x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_asAs(True, x0)
new_sr(Neg(x0), Neg(x1))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Integer)
new_primMulNat0(Zero, Succ(x0))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Bool)
new_esEs19(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs19(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(Just(x0), Nothing, x1)
new_asAs(False, x0)
new_esEs10(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(GT, GT)
new_esEs22(x0, x1, ty_Float)
new_primEqNat0(Zero, Zero)
new_esEs21(Just(x0), Just(x1), ty_Double)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs5(Float(x0, x1), Float(x2, x3))
new_esEs11(x0, x1, ty_Int)
new_esEs21(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(Left(x0), Left(x1), ty_Bool, x2)
new_esEs10(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_@0)
new_esEs19(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs27(x0, x1, ty_@0)
new_esEs21(Nothing, Nothing, x0)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Float)
new_esEs16(:(x0, x1), [], x2)
new_primMulNat0(Zero, Zero)
new_esEs15(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs19(Right(x0), Right(x1), x2, ty_Bool)
new_esEs21(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs12(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), x1)
new_esEs12(x0, x1, ty_Double)
new_esEs19(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs19(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primMulNat0(Succ(x0), Succ(x1))
new_primEqNat0(Succ(x0), Zero)
new_esEs12(x0, x1, ty_Float)
new_esEs12(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs10(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_esEs20(True, True)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(EQ, GT)
new_esEs7(GT, EQ)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Double)
new_esEs12(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Nothing, Just(x0), x1)
new_esEs19(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs27(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Int)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Bool)
new_esEs19(Right(x0), Right(x1), x2, ty_@0)
new_esEs19(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs6(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs12(x0, x1, ty_Integer)
new_esEs12(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, ty_Int)
new_esEs19(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs21(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs20(True, False)
new_esEs20(False, True)
new_esEs10(x0, x1, ty_Double)
new_esEs20(False, False)
new_esEs12(x0, x1, app(ty_[], x2))
new_esEs19(Left(x0), Left(x1), ty_Float, x2)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs19(Right(x0), Right(x1), x2, ty_Integer)
new_esEs12(x0, x1, app(ty_Maybe, x2))
new_esEs21(Just(x0), Just(x1), ty_Int)
new_primPlusNat1(Zero, x0)
new_esEs19(Left(x0), Left(x1), ty_Integer, x2)
new_esEs19(Right(x0), Right(x1), x2, ty_Float)
new_esEs19(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat0(Zero, Zero)
new_esEs21(Just(x0), Just(x1), ty_@0)
new_esEs19(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_primMulNat0(Succ(x0), Zero)
new_esEs18(Char(x0), Char(x1))
new_esEs19(Right(x0), Right(x1), x2, ty_Char)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Double)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs7(EQ, EQ)
new_esEs19(Left(x0), Left(x1), ty_Char, x2)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(Just(x0), Just(x1), ty_Char)
new_esEs25(x0, x1, ty_Bool)
new_esEs12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_sr(Pos(x0), Pos(x1))
new_esEs19(Left(x0), Right(x1), x2, x3)
new_esEs19(Right(x0), Left(x1), x2, x3)
new_esEs27(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Char)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), app(app(ty_@2, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 2 SCCs.

↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ DependencyGraphProof
                          ↳ AND
QDP
                              ↳ UsableRulesProof
                            ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_deleteBy(Nothing, :(Just(zu4300), zu431), ba) → new_deleteBy(Nothing, zu431, ba)

The TRS R consists of the following rules:

new_esEs22(zu311000, zu43000, app(app(ty_@2, gc), gd)) → new_esEs15(zu311000, zu43000, gc, gd)
new_esEs22(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs18(Char(zu311000), Char(zu43000)) → new_primEqNat0(zu311000, zu43000)
new_esEs27(zu31100, zu4300, app(ty_[], ff)) → new_esEs16(zu31100, zu4300, ff)
new_esEs20(True, True) → True
new_esEs25(zu311001, zu43001, app(ty_[], bec)) → new_esEs16(zu311001, zu43001, bec)
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu43000)) → False
new_esEs10(zu311002, zu43002, ty_Char) → new_esEs18(zu311002, zu43002)
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu43000)) → False
new_esEs12(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs25(zu311001, zu43001, ty_@0) → new_esEs13(zu311001, zu43001)
new_esEs19(Left(zu311000), Left(zu43000), ty_Ordering, ha) → new_esEs7(zu311000, zu43000)
new_esEs20(False, False) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), app(app(app(ty_@3, bbh), bca), bcb)) → new_esEs9(zu311000, zu43000, bbh, bca, bcb)
new_esEs22(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs11(zu311001, zu43001, app(ty_Maybe, eb)) → new_esEs21(zu311001, zu43001, eb)
new_primEqInt(Neg(Zero), Pos(Succ(zu430000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zu430000))) → False
new_esEs13(@0, @0) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), app(app(ty_@2, hf), hg), ha) → new_esEs15(zu311000, zu43000, hf, hg)
new_esEs22(zu311000, zu43000, app(ty_Maybe, gh)) → new_esEs21(zu311000, zu43000, gh)
new_esEs11(zu311001, zu43001, app(ty_[], dg)) → new_esEs16(zu311001, zu43001, dg)
new_esEs12(zu311000, zu43000, app(app(ty_@2, eg), eh)) → new_esEs15(zu311000, zu43000, eg, eh)
new_esEs19(Right(zu311000), Right(zu43000), bad, app(ty_Ratio, bah)) → new_esEs14(zu311000, zu43000, bah)
new_esEs27(zu31100, zu4300, app(app(app(ty_@3, bc), bd), be)) → new_esEs9(zu31100, zu4300, bc, bd, be)
new_esEs26(zu311000, zu43000, app(app(ty_@2, bfc), bfd)) → new_esEs15(zu311000, zu43000, bfc, bfd)
new_esEs10(zu311002, zu43002, app(ty_[], cd)) → new_esEs16(zu311002, zu43002, cd)
new_esEs7(GT, LT) → False
new_esEs7(LT, GT) → False
new_primMulNat0(Zero, Zero) → Zero
new_esEs10(zu311002, zu43002, ty_@0) → new_esEs13(zu311002, zu43002)
new_esEs21(Just(zu311000), Just(zu43000), ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs12(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs26(zu311000, zu43000, app(ty_[], bfe)) → new_esEs16(zu311000, zu43000, bfe)
new_esEs19(Left(zu311000), Left(zu43000), app(app(ty_Either, baa), bab), ha) → new_esEs19(zu311000, zu43000, baa, bab)
new_esEs26(zu311000, zu43000, app(ty_Ratio, bfb)) → new_esEs14(zu311000, zu43000, bfb)
new_esEs27(zu31100, zu4300, app(app(ty_@2, bdc), bdd)) → new_esEs15(zu31100, zu4300, bdc, bdd)
new_esEs25(zu311001, zu43001, app(app(ty_@2, bea), beb)) → new_esEs15(zu311001, zu43001, bea, beb)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_[], hh), ha) → new_esEs16(zu311000, zu43000, hh)
new_esEs27(zu31100, zu4300, ty_Bool) → new_esEs20(zu31100, zu4300)
new_esEs9(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), bc, bd, be) → new_asAs(new_esEs12(zu311000, zu43000, bc), new_asAs(new_esEs11(zu311001, zu43001, bd), new_esEs10(zu311002, zu43002, be)))
new_esEs19(Right(zu311000), Right(zu43000), bad, app(ty_Maybe, bbf)) → new_esEs21(zu311000, zu43000, bbf)
new_esEs11(zu311001, zu43001, ty_Double) → new_esEs17(zu311001, zu43001)
new_esEs24(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs17(Double(zu311000, zu311001), Double(zu43000, zu43001)) → new_esEs6(new_sr(zu311000, zu43000), new_sr(zu311001, zu43001))
new_sr(Neg(zu3110010), Pos(zu430010)) → Neg(new_primMulNat0(zu3110010, zu430010))
new_sr(Pos(zu3110010), Neg(zu430010)) → Neg(new_primMulNat0(zu3110010, zu430010))
new_esEs19(Right(zu311000), Right(zu43000), bad, app(app(ty_@2, bba), bbb)) → new_esEs15(zu311000, zu43000, bba, bbb)
new_esEs11(zu311001, zu43001, app(app(ty_@2, de), df)) → new_esEs15(zu311001, zu43001, de, df)
new_esEs6(zu31100, zu4300) → new_primEqInt(zu31100, zu4300)
new_esEs22(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, app(app(app(ty_@3, bf), bg), bh)) → new_esEs9(zu311002, zu43002, bf, bg, bh)
new_esEs19(Left(zu311000), Left(zu43000), app(app(app(ty_@3, hb), hc), hd), ha) → new_esEs9(zu311000, zu43000, hb, hc, hd)
new_esEs19(Left(zu311000), Left(zu43000), ty_Int, ha) → new_esEs6(zu311000, zu43000)
new_esEs22(zu311000, zu43000, app(ty_[], ge)) → new_esEs16(zu311000, zu43000, ge)
new_esEs22(zu311000, zu43000, app(ty_Ratio, gb)) → new_esEs14(zu311000, zu43000, gb)
new_esEs22(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs12(zu311000, zu43000, app(ty_Maybe, fd)) → new_esEs21(zu311000, zu43000, fd)
new_esEs7(LT, LT) → True
new_esEs25(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_Ratio, he), ha) → new_esEs14(zu311000, zu43000, he)
new_esEs22(zu311000, zu43000, app(app(ty_Either, gf), gg)) → new_esEs19(zu311000, zu43000, gf, gg)
new_esEs26(zu311000, zu43000, app(ty_Maybe, bfh)) → new_esEs21(zu311000, zu43000, bfh)
new_esEs22(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs11(zu311001, zu43001, app(app(app(ty_@3, da), db), dc)) → new_esEs9(zu311001, zu43001, da, db, dc)
new_esEs10(zu311002, zu43002, ty_Bool) → new_esEs20(zu311002, zu43002)
new_esEs12(zu311000, zu43000, app(app(app(ty_@3, ec), ed), ee)) → new_esEs9(zu311000, zu43000, ec, ed, ee)
new_esEs19(Left(zu311000), Left(zu43000), ty_Float, ha) → new_esEs5(zu311000, zu43000)
new_primEqNat0(Zero, Succ(zu430000)) → False
new_primEqNat0(Succ(zu3110000), Zero) → False
new_esEs10(zu311002, zu43002, ty_Double) → new_esEs17(zu311002, zu43002)
new_primPlusNat0(Zero, Zero) → Zero
new_esEs19(Left(zu311000), Left(zu43000), ty_Double, ha) → new_esEs17(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), ty_Float) → new_esEs5(zu311000, zu43000)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs19(Right(zu311000), Right(zu43000), bad, app(app(app(ty_@3, bae), baf), bag)) → new_esEs9(zu311000, zu43000, bae, baf, bag)
new_esEs26(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs5(Float(zu311000, zu311001), Float(zu43000, zu43001)) → new_esEs6(new_sr(zu311000, zu43000), new_sr(zu311001, zu43001))
new_esEs16(:(zu311000, zu311001), [], ff) → False
new_esEs16([], :(zu43000, zu43001), ff) → False
new_esEs19(Left(zu311000), Left(zu43000), ty_Integer, ha) → new_esEs8(zu311000, zu43000)
new_esEs26(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_primPlusNat1(Succ(zu740), zu4300100) → Succ(Succ(new_primPlusNat0(zu740, zu4300100)))
new_esEs23(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs7(EQ, EQ) → True
new_esEs25(zu311001, zu43001, app(ty_Ratio, bdh)) → new_esEs14(zu311001, zu43001, bdh)
new_esEs20(True, False) → False
new_esEs20(False, True) → False
new_esEs19(Right(zu311000), Right(zu43000), bad, app(ty_[], bbc)) → new_esEs16(zu311000, zu43000, bbc)
new_esEs12(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, ty_Int) → new_esEs6(zu311002, zu43002)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs12(zu311000, zu43000, app(ty_[], fa)) → new_esEs16(zu311000, zu43000, fa)
new_esEs26(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs26(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs23(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs11(zu311001, zu43001, ty_Char) → new_esEs18(zu311001, zu43001)
new_esEs12(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, app(app(ty_Either, bbd), bbe)) → new_esEs19(zu311000, zu43000, bbd, bbe)
new_esEs11(zu311001, zu43001, app(ty_Ratio, dd)) → new_esEs14(zu311001, zu43001, dd)
new_esEs7(GT, EQ) → False
new_esEs7(EQ, GT) → False
new_esEs26(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs27(zu31100, zu4300, app(ty_Ratio, bdb)) → new_esEs14(zu31100, zu4300, bdb)
new_esEs19(Left(zu311000), Left(zu43000), ty_@0, ha) → new_esEs13(zu311000, zu43000)
new_esEs25(zu311001, zu43001, ty_Double) → new_esEs17(zu311001, zu43001)
new_esEs11(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_Maybe, bda)) → new_esEs21(zu311000, zu43000, bda)
new_sr(Neg(zu3110010), Neg(zu430010)) → Pos(new_primMulNat0(zu3110010, zu430010))
new_esEs21(Just(zu311000), Just(zu43000), ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs25(zu311001, zu43001, app(app(ty_Either, bed), bee)) → new_esEs19(zu311001, zu43001, bed, bee)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs21(Nothing, Nothing, bbg) → True
new_sr(Pos(zu3110010), Pos(zu430010)) → Pos(new_primMulNat0(zu3110010, zu430010))
new_asAs(False, zu73) → False
new_primEqNat0(Zero, Zero) → True
new_esEs24(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs11(zu311001, zu43001, ty_Float) → new_esEs5(zu311001, zu43001)
new_primMulNat0(Succ(zu31100100), Zero) → Zero
new_primMulNat0(Zero, Succ(zu4300100)) → Zero
new_esEs19(Right(zu311000), Left(zu43000), bad, ha) → False
new_esEs19(Left(zu311000), Right(zu43000), bad, ha) → False
new_esEs21(Just(zu311000), Nothing, bbg) → False
new_esEs21(Nothing, Just(zu43000), bbg) → False
new_primMulNat0(Succ(zu31100100), Succ(zu4300100)) → new_primPlusNat1(new_primMulNat0(zu31100100, Succ(zu4300100)), zu4300100)
new_esEs27(zu31100, zu4300, ty_Float) → new_esEs5(zu31100, zu4300)
new_esEs11(zu311001, zu43001, app(app(ty_Either, dh), ea)) → new_esEs19(zu311001, zu43001, dh, ea)
new_esEs25(zu311001, zu43001, ty_Ordering) → new_esEs7(zu311001, zu43001)
new_esEs27(zu31100, zu4300, app(ty_Maybe, bbg)) → new_esEs21(zu31100, zu4300, bbg)
new_esEs25(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs27(zu31100, zu4300, ty_Ordering) → new_esEs7(zu31100, zu4300)
new_esEs8(Integer(zu311000), Integer(zu43000)) → new_primEqInt(zu311000, zu43000)
new_esEs27(zu31100, zu4300, ty_@0) → new_esEs13(zu31100, zu4300)
new_esEs21(Just(zu311000), Just(zu43000), ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs27(zu31100, zu4300, ty_Double) → new_esEs17(zu31100, zu4300)
new_esEs21(Just(zu311000), Just(zu43000), app(app(ty_Either, bcg), bch)) → new_esEs19(zu311000, zu43000, bcg, bch)
new_esEs26(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs12(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs27(zu31100, zu4300, ty_Integer) → new_esEs8(zu31100, zu4300)
new_esEs12(zu311000, zu43000, app(app(ty_Either, fb), fc)) → new_esEs19(zu311000, zu43000, fb, fc)
new_esEs11(zu311001, zu43001, ty_@0) → new_esEs13(zu311001, zu43001)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_[], bcf)) → new_esEs16(zu311000, zu43000, bcf)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_Maybe, bac), ha) → new_esEs21(zu311000, zu43000, bac)
new_esEs25(zu311001, zu43001, app(ty_Maybe, bef)) → new_esEs21(zu311001, zu43001, bef)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu430000))) → new_primEqNat0(zu3110000, zu430000)
new_esEs26(zu311000, zu43000, app(app(app(ty_@3, beg), beh), bfa)) → new_esEs9(zu311000, zu43000, beg, beh, bfa)
new_esEs26(zu311000, zu43000, app(app(ty_Either, bff), bfg)) → new_esEs19(zu311000, zu43000, bff, bfg)
new_esEs16([], [], ff) → True
new_esEs10(zu311002, zu43002, ty_Float) → new_esEs5(zu311002, zu43002)
new_esEs25(zu311001, zu43001, ty_Char) → new_esEs18(zu311001, zu43001)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs11(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs10(zu311002, zu43002, app(ty_Maybe, cg)) → new_esEs21(zu311002, zu43002, cg)
new_esEs21(Just(zu311000), Just(zu43000), app(app(ty_@2, bcd), bce)) → new_esEs15(zu311000, zu43000, bcd, bce)
new_esEs25(zu311001, zu43001, ty_Float) → new_esEs5(zu311001, zu43001)
new_esEs12(zu311000, zu43000, app(ty_Ratio, ef)) → new_esEs14(zu311000, zu43000, ef)
new_primEqInt(Neg(Zero), Neg(Succ(zu430000))) → False
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_esEs7(EQ, LT) → False
new_esEs7(LT, EQ) → False
new_esEs22(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_primPlusNat1(Zero, zu4300100) → Succ(zu4300100)
new_esEs10(zu311002, zu43002, app(app(ty_Either, ce), cf)) → new_esEs19(zu311002, zu43002, ce, cf)
new_esEs26(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, app(ty_Ratio, ca)) → new_esEs14(zu311002, zu43002, ca)
new_primPlusNat0(Succ(zu7400), Succ(zu43001000)) → Succ(Succ(new_primPlusNat0(zu7400, zu43001000)))
new_esEs12(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs22(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs10(zu311002, zu43002, ty_Ordering) → new_esEs7(zu311002, zu43002)
new_esEs25(zu311001, zu43001, app(app(app(ty_@3, bde), bdf), bdg)) → new_esEs9(zu311001, zu43001, bde, bdf, bdg)
new_esEs21(Just(zu311000), Just(zu43000), ty_@0) → new_esEs13(zu311000, zu43000)
new_asAs(True, zu73) → zu73
new_esEs15(@2(zu311000, zu311001), @2(zu43000, zu43001), bdc, bdd) → new_asAs(new_esEs26(zu311000, zu43000, bdc), new_esEs25(zu311001, zu43001, bdd))
new_esEs27(zu31100, zu4300, app(app(ty_Either, bad), ha)) → new_esEs19(zu31100, zu4300, bad, ha)
new_esEs11(zu311001, zu43001, ty_Bool) → new_esEs20(zu311001, zu43001)
new_esEs14(:%(zu311000, zu311001), :%(zu43000, zu43001), bdb) → new_asAs(new_esEs24(zu311000, zu43000, bdb), new_esEs23(zu311001, zu43001, bdb))
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Char) → new_esEs18(zu311000, zu43000)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu430000))) → new_primEqNat0(zu3110000, zu430000)
new_esEs16(:(zu311000, zu311001), :(zu43000, zu43001), ff) → new_asAs(new_esEs22(zu311000, zu43000, ff), new_esEs16(zu311001, zu43001, ff))
new_esEs26(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_primEqNat0(Succ(zu3110000), Succ(zu430000)) → new_primEqNat0(zu3110000, zu430000)
new_esEs27(zu31100, zu4300, ty_Char) → new_esEs18(zu31100, zu4300)
new_esEs10(zu311002, zu43002, app(app(ty_@2, cb), cc)) → new_esEs15(zu311002, zu43002, cb, cc)
new_esEs22(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_Ratio, bcc)) → new_esEs14(zu311000, zu43000, bcc)
new_esEs7(GT, GT) → True
new_esEs25(zu311001, zu43001, ty_Bool) → new_esEs20(zu311001, zu43001)
new_esEs27(zu31100, zu4300, ty_Int) → new_esEs6(zu31100, zu4300)
new_esEs22(zu311000, zu43000, app(app(app(ty_@3, fg), fh), ga)) → new_esEs9(zu311000, zu43000, fg, fh, ga)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(zu430000))) → False
new_esEs11(zu311001, zu43001, ty_Ordering) → new_esEs7(zu311001, zu43001)
new_esEs10(zu311002, zu43002, ty_Integer) → new_esEs8(zu311002, zu43002)
new_esEs12(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Integer) → new_esEs8(zu311000, zu43000)
new_primPlusNat0(Succ(zu7400), Zero) → Succ(zu7400)
new_primPlusNat0(Zero, Succ(zu43001000)) → Succ(zu43001000)
new_esEs12(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), ty_Bool, ha) → new_esEs20(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), ty_Char, ha) → new_esEs18(zu311000, zu43000)

The set Q consists of the following terms:

new_esEs25(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), ty_Ordering)
new_esEs13(@0, @0)
new_esEs9(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs7(LT, EQ)
new_esEs7(EQ, LT)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs26(x0, x1, ty_Char)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs21(Just(x0), Just(x1), ty_Bool)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat0(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_@0)
new_esEs19(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs21(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs19(Right(x0), Right(x1), x2, ty_Int)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs12(x0, x1, ty_Char)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Float)
new_esEs19(Left(x0), Left(x1), ty_@0, x2)
new_esEs19(Right(x0), Right(x1), x2, ty_Double)
new_esEs12(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs19(Left(x0), Left(x1), ty_Double, x2)
new_esEs26(x0, x1, ty_Int)
new_esEs7(LT, LT)
new_esEs22(x0, x1, ty_Double)
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs23(x0, x1, ty_Int)
new_esEs19(Left(x0), Left(x1), ty_Int, x2)
new_primEqInt(Neg(Zero), Neg(Zero))
new_sr(Neg(x0), Pos(x1))
new_sr(Pos(x0), Neg(x1))
new_esEs27(x0, x1, ty_Ordering)
new_esEs16([], [], x0)
new_esEs7(LT, GT)
new_esEs7(GT, LT)
new_esEs19(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs11(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, ty_Integer)
new_esEs19(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs27(x0, x1, ty_Bool)
new_esEs10(x0, x1, ty_Char)
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs14(:%(x0, x1), :%(x2, x3), x4)
new_esEs12(x0, x1, ty_@0)
new_esEs12(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_Double)
new_esEs10(x0, x1, ty_Bool)
new_esEs8(Integer(x0), Integer(x1))
new_esEs16([], :(x0, x1), x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_asAs(True, x0)
new_sr(Neg(x0), Neg(x1))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Integer)
new_primMulNat0(Zero, Succ(x0))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Bool)
new_esEs19(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs19(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(Just(x0), Nothing, x1)
new_asAs(False, x0)
new_esEs10(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(GT, GT)
new_esEs22(x0, x1, ty_Float)
new_primEqNat0(Zero, Zero)
new_esEs21(Just(x0), Just(x1), ty_Double)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs5(Float(x0, x1), Float(x2, x3))
new_esEs11(x0, x1, ty_Int)
new_esEs21(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(Left(x0), Left(x1), ty_Bool, x2)
new_esEs10(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_@0)
new_esEs19(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs27(x0, x1, ty_@0)
new_esEs21(Nothing, Nothing, x0)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Float)
new_esEs16(:(x0, x1), [], x2)
new_primMulNat0(Zero, Zero)
new_esEs15(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs19(Right(x0), Right(x1), x2, ty_Bool)
new_esEs21(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs12(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), x1)
new_esEs12(x0, x1, ty_Double)
new_esEs19(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs19(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primMulNat0(Succ(x0), Succ(x1))
new_primEqNat0(Succ(x0), Zero)
new_esEs12(x0, x1, ty_Float)
new_esEs12(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs10(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_esEs20(True, True)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(EQ, GT)
new_esEs7(GT, EQ)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Double)
new_esEs12(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Nothing, Just(x0), x1)
new_esEs19(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs27(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Int)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Bool)
new_esEs19(Right(x0), Right(x1), x2, ty_@0)
new_esEs19(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs6(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs12(x0, x1, ty_Integer)
new_esEs12(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, ty_Int)
new_esEs19(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs21(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs20(True, False)
new_esEs20(False, True)
new_esEs10(x0, x1, ty_Double)
new_esEs20(False, False)
new_esEs12(x0, x1, app(ty_[], x2))
new_esEs19(Left(x0), Left(x1), ty_Float, x2)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs19(Right(x0), Right(x1), x2, ty_Integer)
new_esEs12(x0, x1, app(ty_Maybe, x2))
new_esEs21(Just(x0), Just(x1), ty_Int)
new_primPlusNat1(Zero, x0)
new_esEs19(Left(x0), Left(x1), ty_Integer, x2)
new_esEs19(Right(x0), Right(x1), x2, ty_Float)
new_esEs19(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat0(Zero, Zero)
new_esEs21(Just(x0), Just(x1), ty_@0)
new_esEs19(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_primMulNat0(Succ(x0), Zero)
new_esEs18(Char(x0), Char(x1))
new_esEs19(Right(x0), Right(x1), x2, ty_Char)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Double)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs7(EQ, EQ)
new_esEs19(Left(x0), Left(x1), ty_Char, x2)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(Just(x0), Just(x1), ty_Char)
new_esEs25(x0, x1, ty_Bool)
new_esEs12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_sr(Pos(x0), Pos(x1))
new_esEs19(Left(x0), Right(x1), x2, x3)
new_esEs19(Right(x0), Left(x1), x2, x3)
new_esEs27(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Char)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), app(app(ty_@2, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ DependencyGraphProof
                          ↳ AND
                            ↳ QDP
                              ↳ UsableRulesProof
QDP
                                  ↳ QReductionProof
                            ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_deleteBy(Nothing, :(Just(zu4300), zu431), ba) → new_deleteBy(Nothing, zu431, ba)

R is empty.
The set Q consists of the following terms:

new_esEs25(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), ty_Ordering)
new_esEs13(@0, @0)
new_esEs9(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs7(LT, EQ)
new_esEs7(EQ, LT)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs26(x0, x1, ty_Char)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs21(Just(x0), Just(x1), ty_Bool)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat0(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_@0)
new_esEs19(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs21(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs19(Right(x0), Right(x1), x2, ty_Int)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs12(x0, x1, ty_Char)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Float)
new_esEs19(Left(x0), Left(x1), ty_@0, x2)
new_esEs19(Right(x0), Right(x1), x2, ty_Double)
new_esEs12(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs19(Left(x0), Left(x1), ty_Double, x2)
new_esEs26(x0, x1, ty_Int)
new_esEs7(LT, LT)
new_esEs22(x0, x1, ty_Double)
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs23(x0, x1, ty_Int)
new_esEs19(Left(x0), Left(x1), ty_Int, x2)
new_primEqInt(Neg(Zero), Neg(Zero))
new_sr(Neg(x0), Pos(x1))
new_sr(Pos(x0), Neg(x1))
new_esEs27(x0, x1, ty_Ordering)
new_esEs16([], [], x0)
new_esEs7(LT, GT)
new_esEs7(GT, LT)
new_esEs19(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs11(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, ty_Integer)
new_esEs19(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs27(x0, x1, ty_Bool)
new_esEs10(x0, x1, ty_Char)
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs14(:%(x0, x1), :%(x2, x3), x4)
new_esEs12(x0, x1, ty_@0)
new_esEs12(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_Double)
new_esEs10(x0, x1, ty_Bool)
new_esEs8(Integer(x0), Integer(x1))
new_esEs16([], :(x0, x1), x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_asAs(True, x0)
new_sr(Neg(x0), Neg(x1))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Integer)
new_primMulNat0(Zero, Succ(x0))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Bool)
new_esEs19(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs19(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(Just(x0), Nothing, x1)
new_asAs(False, x0)
new_esEs10(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(GT, GT)
new_esEs22(x0, x1, ty_Float)
new_primEqNat0(Zero, Zero)
new_esEs21(Just(x0), Just(x1), ty_Double)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs5(Float(x0, x1), Float(x2, x3))
new_esEs11(x0, x1, ty_Int)
new_esEs21(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(Left(x0), Left(x1), ty_Bool, x2)
new_esEs10(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_@0)
new_esEs19(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs27(x0, x1, ty_@0)
new_esEs21(Nothing, Nothing, x0)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Float)
new_esEs16(:(x0, x1), [], x2)
new_primMulNat0(Zero, Zero)
new_esEs15(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs19(Right(x0), Right(x1), x2, ty_Bool)
new_esEs21(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs12(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), x1)
new_esEs12(x0, x1, ty_Double)
new_esEs19(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs19(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primMulNat0(Succ(x0), Succ(x1))
new_primEqNat0(Succ(x0), Zero)
new_esEs12(x0, x1, ty_Float)
new_esEs12(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs10(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_esEs20(True, True)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(EQ, GT)
new_esEs7(GT, EQ)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Double)
new_esEs12(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Nothing, Just(x0), x1)
new_esEs19(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs27(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Int)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Bool)
new_esEs19(Right(x0), Right(x1), x2, ty_@0)
new_esEs19(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs6(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs12(x0, x1, ty_Integer)
new_esEs12(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, ty_Int)
new_esEs19(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs21(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs20(True, False)
new_esEs20(False, True)
new_esEs10(x0, x1, ty_Double)
new_esEs20(False, False)
new_esEs12(x0, x1, app(ty_[], x2))
new_esEs19(Left(x0), Left(x1), ty_Float, x2)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs19(Right(x0), Right(x1), x2, ty_Integer)
new_esEs12(x0, x1, app(ty_Maybe, x2))
new_esEs21(Just(x0), Just(x1), ty_Int)
new_primPlusNat1(Zero, x0)
new_esEs19(Left(x0), Left(x1), ty_Integer, x2)
new_esEs19(Right(x0), Right(x1), x2, ty_Float)
new_esEs19(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat0(Zero, Zero)
new_esEs21(Just(x0), Just(x1), ty_@0)
new_esEs19(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_primMulNat0(Succ(x0), Zero)
new_esEs18(Char(x0), Char(x1))
new_esEs19(Right(x0), Right(x1), x2, ty_Char)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Double)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs7(EQ, EQ)
new_esEs19(Left(x0), Left(x1), ty_Char, x2)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(Just(x0), Just(x1), ty_Char)
new_esEs25(x0, x1, ty_Bool)
new_esEs12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_sr(Pos(x0), Pos(x1))
new_esEs19(Left(x0), Right(x1), x2, x3)
new_esEs19(Right(x0), Left(x1), x2, x3)
new_esEs27(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Char)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), app(app(ty_@2, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_esEs25(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), ty_Ordering)
new_esEs13(@0, @0)
new_esEs9(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs7(LT, EQ)
new_esEs7(EQ, LT)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs26(x0, x1, ty_Char)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs21(Just(x0), Just(x1), ty_Bool)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat0(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_@0)
new_esEs19(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs21(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs19(Right(x0), Right(x1), x2, ty_Int)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs12(x0, x1, ty_Char)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Float)
new_esEs19(Left(x0), Left(x1), ty_@0, x2)
new_esEs19(Right(x0), Right(x1), x2, ty_Double)
new_esEs12(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs19(Left(x0), Left(x1), ty_Double, x2)
new_esEs26(x0, x1, ty_Int)
new_esEs7(LT, LT)
new_esEs22(x0, x1, ty_Double)
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs23(x0, x1, ty_Int)
new_esEs19(Left(x0), Left(x1), ty_Int, x2)
new_primEqInt(Neg(Zero), Neg(Zero))
new_sr(Neg(x0), Pos(x1))
new_sr(Pos(x0), Neg(x1))
new_esEs27(x0, x1, ty_Ordering)
new_esEs16([], [], x0)
new_esEs7(LT, GT)
new_esEs7(GT, LT)
new_esEs19(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs11(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, ty_Integer)
new_esEs19(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs27(x0, x1, ty_Bool)
new_esEs10(x0, x1, ty_Char)
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs14(:%(x0, x1), :%(x2, x3), x4)
new_esEs12(x0, x1, ty_@0)
new_esEs12(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_Double)
new_esEs10(x0, x1, ty_Bool)
new_esEs8(Integer(x0), Integer(x1))
new_esEs16([], :(x0, x1), x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_asAs(True, x0)
new_sr(Neg(x0), Neg(x1))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Integer)
new_primMulNat0(Zero, Succ(x0))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Bool)
new_esEs19(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs19(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(Just(x0), Nothing, x1)
new_asAs(False, x0)
new_esEs10(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(GT, GT)
new_esEs22(x0, x1, ty_Float)
new_primEqNat0(Zero, Zero)
new_esEs21(Just(x0), Just(x1), ty_Double)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs5(Float(x0, x1), Float(x2, x3))
new_esEs11(x0, x1, ty_Int)
new_esEs21(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(Left(x0), Left(x1), ty_Bool, x2)
new_esEs10(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_@0)
new_esEs19(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs27(x0, x1, ty_@0)
new_esEs21(Nothing, Nothing, x0)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Float)
new_esEs16(:(x0, x1), [], x2)
new_primMulNat0(Zero, Zero)
new_esEs15(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs19(Right(x0), Right(x1), x2, ty_Bool)
new_esEs21(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs12(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), x1)
new_esEs12(x0, x1, ty_Double)
new_esEs19(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs19(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primMulNat0(Succ(x0), Succ(x1))
new_primEqNat0(Succ(x0), Zero)
new_esEs12(x0, x1, ty_Float)
new_esEs12(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs10(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_esEs20(True, True)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(EQ, GT)
new_esEs7(GT, EQ)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Double)
new_esEs12(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Nothing, Just(x0), x1)
new_esEs19(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs27(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Int)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Bool)
new_esEs19(Right(x0), Right(x1), x2, ty_@0)
new_esEs19(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs6(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs12(x0, x1, ty_Integer)
new_esEs12(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, ty_Int)
new_esEs19(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs21(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs20(True, False)
new_esEs20(False, True)
new_esEs10(x0, x1, ty_Double)
new_esEs20(False, False)
new_esEs12(x0, x1, app(ty_[], x2))
new_esEs19(Left(x0), Left(x1), ty_Float, x2)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs19(Right(x0), Right(x1), x2, ty_Integer)
new_esEs12(x0, x1, app(ty_Maybe, x2))
new_esEs21(Just(x0), Just(x1), ty_Int)
new_primPlusNat1(Zero, x0)
new_esEs19(Left(x0), Left(x1), ty_Integer, x2)
new_esEs19(Right(x0), Right(x1), x2, ty_Float)
new_esEs19(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat0(Zero, Zero)
new_esEs21(Just(x0), Just(x1), ty_@0)
new_esEs19(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_primMulNat0(Succ(x0), Zero)
new_esEs18(Char(x0), Char(x1))
new_esEs19(Right(x0), Right(x1), x2, ty_Char)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Double)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs7(EQ, EQ)
new_esEs19(Left(x0), Left(x1), ty_Char, x2)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(Just(x0), Just(x1), ty_Char)
new_esEs25(x0, x1, ty_Bool)
new_esEs12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_sr(Pos(x0), Pos(x1))
new_esEs19(Left(x0), Right(x1), x2, x3)
new_esEs19(Right(x0), Left(x1), x2, x3)
new_esEs27(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Char)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), app(app(ty_@2, x2), x3))



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ DependencyGraphProof
                          ↳ AND
                            ↳ QDP
                              ↳ UsableRulesProof
                                ↳ QDP
                                  ↳ QReductionProof
QDP
                                      ↳ QDPSizeChangeProof
                            ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_deleteBy(Nothing, :(Just(zu4300), zu431), ba) → new_deleteBy(Nothing, zu431, ba)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ DependencyGraphProof
                          ↳ AND
                            ↳ QDP
QDP
                              ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_deleteBy(Just(zu31100), :(Nothing, zu431), ba) → new_deleteBy(Just(zu31100), zu431, ba)
new_deleteBy(Just(zu31100), :(Just(zu4300), zu431), ba) → new_deleteBy0(zu431, zu4300, zu31100, new_esEs27(zu31100, zu4300, ba), ba)
new_deleteBy0(zu50, zu51, zu52, False, bb) → new_deleteBy(Just(zu52), zu50, bb)

The TRS R consists of the following rules:

new_esEs22(zu311000, zu43000, app(app(ty_@2, gc), gd)) → new_esEs15(zu311000, zu43000, gc, gd)
new_esEs22(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs18(Char(zu311000), Char(zu43000)) → new_primEqNat0(zu311000, zu43000)
new_esEs27(zu31100, zu4300, app(ty_[], ff)) → new_esEs16(zu31100, zu4300, ff)
new_esEs20(True, True) → True
new_esEs25(zu311001, zu43001, app(ty_[], bec)) → new_esEs16(zu311001, zu43001, bec)
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu43000)) → False
new_esEs10(zu311002, zu43002, ty_Char) → new_esEs18(zu311002, zu43002)
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu43000)) → False
new_esEs12(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs25(zu311001, zu43001, ty_@0) → new_esEs13(zu311001, zu43001)
new_esEs19(Left(zu311000), Left(zu43000), ty_Ordering, ha) → new_esEs7(zu311000, zu43000)
new_esEs20(False, False) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), app(app(app(ty_@3, bbh), bca), bcb)) → new_esEs9(zu311000, zu43000, bbh, bca, bcb)
new_esEs22(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs11(zu311001, zu43001, app(ty_Maybe, eb)) → new_esEs21(zu311001, zu43001, eb)
new_primEqInt(Neg(Zero), Pos(Succ(zu430000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zu430000))) → False
new_esEs13(@0, @0) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), app(app(ty_@2, hf), hg), ha) → new_esEs15(zu311000, zu43000, hf, hg)
new_esEs22(zu311000, zu43000, app(ty_Maybe, gh)) → new_esEs21(zu311000, zu43000, gh)
new_esEs11(zu311001, zu43001, app(ty_[], dg)) → new_esEs16(zu311001, zu43001, dg)
new_esEs12(zu311000, zu43000, app(app(ty_@2, eg), eh)) → new_esEs15(zu311000, zu43000, eg, eh)
new_esEs19(Right(zu311000), Right(zu43000), bad, app(ty_Ratio, bah)) → new_esEs14(zu311000, zu43000, bah)
new_esEs27(zu31100, zu4300, app(app(app(ty_@3, bc), bd), be)) → new_esEs9(zu31100, zu4300, bc, bd, be)
new_esEs26(zu311000, zu43000, app(app(ty_@2, bfc), bfd)) → new_esEs15(zu311000, zu43000, bfc, bfd)
new_esEs10(zu311002, zu43002, app(ty_[], cd)) → new_esEs16(zu311002, zu43002, cd)
new_esEs7(GT, LT) → False
new_esEs7(LT, GT) → False
new_primMulNat0(Zero, Zero) → Zero
new_esEs10(zu311002, zu43002, ty_@0) → new_esEs13(zu311002, zu43002)
new_esEs21(Just(zu311000), Just(zu43000), ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs12(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs26(zu311000, zu43000, app(ty_[], bfe)) → new_esEs16(zu311000, zu43000, bfe)
new_esEs19(Left(zu311000), Left(zu43000), app(app(ty_Either, baa), bab), ha) → new_esEs19(zu311000, zu43000, baa, bab)
new_esEs26(zu311000, zu43000, app(ty_Ratio, bfb)) → new_esEs14(zu311000, zu43000, bfb)
new_esEs27(zu31100, zu4300, app(app(ty_@2, bdc), bdd)) → new_esEs15(zu31100, zu4300, bdc, bdd)
new_esEs25(zu311001, zu43001, app(app(ty_@2, bea), beb)) → new_esEs15(zu311001, zu43001, bea, beb)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_[], hh), ha) → new_esEs16(zu311000, zu43000, hh)
new_esEs27(zu31100, zu4300, ty_Bool) → new_esEs20(zu31100, zu4300)
new_esEs9(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), bc, bd, be) → new_asAs(new_esEs12(zu311000, zu43000, bc), new_asAs(new_esEs11(zu311001, zu43001, bd), new_esEs10(zu311002, zu43002, be)))
new_esEs19(Right(zu311000), Right(zu43000), bad, app(ty_Maybe, bbf)) → new_esEs21(zu311000, zu43000, bbf)
new_esEs11(zu311001, zu43001, ty_Double) → new_esEs17(zu311001, zu43001)
new_esEs24(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs17(Double(zu311000, zu311001), Double(zu43000, zu43001)) → new_esEs6(new_sr(zu311000, zu43000), new_sr(zu311001, zu43001))
new_sr(Neg(zu3110010), Pos(zu430010)) → Neg(new_primMulNat0(zu3110010, zu430010))
new_sr(Pos(zu3110010), Neg(zu430010)) → Neg(new_primMulNat0(zu3110010, zu430010))
new_esEs19(Right(zu311000), Right(zu43000), bad, app(app(ty_@2, bba), bbb)) → new_esEs15(zu311000, zu43000, bba, bbb)
new_esEs11(zu311001, zu43001, app(app(ty_@2, de), df)) → new_esEs15(zu311001, zu43001, de, df)
new_esEs6(zu31100, zu4300) → new_primEqInt(zu31100, zu4300)
new_esEs22(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, app(app(app(ty_@3, bf), bg), bh)) → new_esEs9(zu311002, zu43002, bf, bg, bh)
new_esEs19(Left(zu311000), Left(zu43000), app(app(app(ty_@3, hb), hc), hd), ha) → new_esEs9(zu311000, zu43000, hb, hc, hd)
new_esEs19(Left(zu311000), Left(zu43000), ty_Int, ha) → new_esEs6(zu311000, zu43000)
new_esEs22(zu311000, zu43000, app(ty_[], ge)) → new_esEs16(zu311000, zu43000, ge)
new_esEs22(zu311000, zu43000, app(ty_Ratio, gb)) → new_esEs14(zu311000, zu43000, gb)
new_esEs22(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs12(zu311000, zu43000, app(ty_Maybe, fd)) → new_esEs21(zu311000, zu43000, fd)
new_esEs7(LT, LT) → True
new_esEs25(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_Ratio, he), ha) → new_esEs14(zu311000, zu43000, he)
new_esEs22(zu311000, zu43000, app(app(ty_Either, gf), gg)) → new_esEs19(zu311000, zu43000, gf, gg)
new_esEs26(zu311000, zu43000, app(ty_Maybe, bfh)) → new_esEs21(zu311000, zu43000, bfh)
new_esEs22(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs11(zu311001, zu43001, app(app(app(ty_@3, da), db), dc)) → new_esEs9(zu311001, zu43001, da, db, dc)
new_esEs10(zu311002, zu43002, ty_Bool) → new_esEs20(zu311002, zu43002)
new_esEs12(zu311000, zu43000, app(app(app(ty_@3, ec), ed), ee)) → new_esEs9(zu311000, zu43000, ec, ed, ee)
new_esEs19(Left(zu311000), Left(zu43000), ty_Float, ha) → new_esEs5(zu311000, zu43000)
new_primEqNat0(Zero, Succ(zu430000)) → False
new_primEqNat0(Succ(zu3110000), Zero) → False
new_esEs10(zu311002, zu43002, ty_Double) → new_esEs17(zu311002, zu43002)
new_primPlusNat0(Zero, Zero) → Zero
new_esEs19(Left(zu311000), Left(zu43000), ty_Double, ha) → new_esEs17(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), ty_Float) → new_esEs5(zu311000, zu43000)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs19(Right(zu311000), Right(zu43000), bad, app(app(app(ty_@3, bae), baf), bag)) → new_esEs9(zu311000, zu43000, bae, baf, bag)
new_esEs26(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs5(Float(zu311000, zu311001), Float(zu43000, zu43001)) → new_esEs6(new_sr(zu311000, zu43000), new_sr(zu311001, zu43001))
new_esEs16(:(zu311000, zu311001), [], ff) → False
new_esEs16([], :(zu43000, zu43001), ff) → False
new_esEs19(Left(zu311000), Left(zu43000), ty_Integer, ha) → new_esEs8(zu311000, zu43000)
new_esEs26(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_primPlusNat1(Succ(zu740), zu4300100) → Succ(Succ(new_primPlusNat0(zu740, zu4300100)))
new_esEs23(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs7(EQ, EQ) → True
new_esEs25(zu311001, zu43001, app(ty_Ratio, bdh)) → new_esEs14(zu311001, zu43001, bdh)
new_esEs20(True, False) → False
new_esEs20(False, True) → False
new_esEs19(Right(zu311000), Right(zu43000), bad, app(ty_[], bbc)) → new_esEs16(zu311000, zu43000, bbc)
new_esEs12(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, ty_Int) → new_esEs6(zu311002, zu43002)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs12(zu311000, zu43000, app(ty_[], fa)) → new_esEs16(zu311000, zu43000, fa)
new_esEs26(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs26(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs23(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs11(zu311001, zu43001, ty_Char) → new_esEs18(zu311001, zu43001)
new_esEs12(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, app(app(ty_Either, bbd), bbe)) → new_esEs19(zu311000, zu43000, bbd, bbe)
new_esEs11(zu311001, zu43001, app(ty_Ratio, dd)) → new_esEs14(zu311001, zu43001, dd)
new_esEs7(GT, EQ) → False
new_esEs7(EQ, GT) → False
new_esEs26(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs27(zu31100, zu4300, app(ty_Ratio, bdb)) → new_esEs14(zu31100, zu4300, bdb)
new_esEs19(Left(zu311000), Left(zu43000), ty_@0, ha) → new_esEs13(zu311000, zu43000)
new_esEs25(zu311001, zu43001, ty_Double) → new_esEs17(zu311001, zu43001)
new_esEs11(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_Maybe, bda)) → new_esEs21(zu311000, zu43000, bda)
new_sr(Neg(zu3110010), Neg(zu430010)) → Pos(new_primMulNat0(zu3110010, zu430010))
new_esEs21(Just(zu311000), Just(zu43000), ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs25(zu311001, zu43001, app(app(ty_Either, bed), bee)) → new_esEs19(zu311001, zu43001, bed, bee)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs21(Nothing, Nothing, bbg) → True
new_sr(Pos(zu3110010), Pos(zu430010)) → Pos(new_primMulNat0(zu3110010, zu430010))
new_asAs(False, zu73) → False
new_primEqNat0(Zero, Zero) → True
new_esEs24(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs11(zu311001, zu43001, ty_Float) → new_esEs5(zu311001, zu43001)
new_primMulNat0(Succ(zu31100100), Zero) → Zero
new_primMulNat0(Zero, Succ(zu4300100)) → Zero
new_esEs19(Right(zu311000), Left(zu43000), bad, ha) → False
new_esEs19(Left(zu311000), Right(zu43000), bad, ha) → False
new_esEs21(Just(zu311000), Nothing, bbg) → False
new_esEs21(Nothing, Just(zu43000), bbg) → False
new_primMulNat0(Succ(zu31100100), Succ(zu4300100)) → new_primPlusNat1(new_primMulNat0(zu31100100, Succ(zu4300100)), zu4300100)
new_esEs27(zu31100, zu4300, ty_Float) → new_esEs5(zu31100, zu4300)
new_esEs11(zu311001, zu43001, app(app(ty_Either, dh), ea)) → new_esEs19(zu311001, zu43001, dh, ea)
new_esEs25(zu311001, zu43001, ty_Ordering) → new_esEs7(zu311001, zu43001)
new_esEs27(zu31100, zu4300, app(ty_Maybe, bbg)) → new_esEs21(zu31100, zu4300, bbg)
new_esEs25(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs27(zu31100, zu4300, ty_Ordering) → new_esEs7(zu31100, zu4300)
new_esEs8(Integer(zu311000), Integer(zu43000)) → new_primEqInt(zu311000, zu43000)
new_esEs27(zu31100, zu4300, ty_@0) → new_esEs13(zu31100, zu4300)
new_esEs21(Just(zu311000), Just(zu43000), ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs27(zu31100, zu4300, ty_Double) → new_esEs17(zu31100, zu4300)
new_esEs21(Just(zu311000), Just(zu43000), app(app(ty_Either, bcg), bch)) → new_esEs19(zu311000, zu43000, bcg, bch)
new_esEs26(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs12(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs27(zu31100, zu4300, ty_Integer) → new_esEs8(zu31100, zu4300)
new_esEs12(zu311000, zu43000, app(app(ty_Either, fb), fc)) → new_esEs19(zu311000, zu43000, fb, fc)
new_esEs11(zu311001, zu43001, ty_@0) → new_esEs13(zu311001, zu43001)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_[], bcf)) → new_esEs16(zu311000, zu43000, bcf)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_Maybe, bac), ha) → new_esEs21(zu311000, zu43000, bac)
new_esEs25(zu311001, zu43001, app(ty_Maybe, bef)) → new_esEs21(zu311001, zu43001, bef)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu430000))) → new_primEqNat0(zu3110000, zu430000)
new_esEs26(zu311000, zu43000, app(app(app(ty_@3, beg), beh), bfa)) → new_esEs9(zu311000, zu43000, beg, beh, bfa)
new_esEs26(zu311000, zu43000, app(app(ty_Either, bff), bfg)) → new_esEs19(zu311000, zu43000, bff, bfg)
new_esEs16([], [], ff) → True
new_esEs10(zu311002, zu43002, ty_Float) → new_esEs5(zu311002, zu43002)
new_esEs25(zu311001, zu43001, ty_Char) → new_esEs18(zu311001, zu43001)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs11(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs10(zu311002, zu43002, app(ty_Maybe, cg)) → new_esEs21(zu311002, zu43002, cg)
new_esEs21(Just(zu311000), Just(zu43000), app(app(ty_@2, bcd), bce)) → new_esEs15(zu311000, zu43000, bcd, bce)
new_esEs25(zu311001, zu43001, ty_Float) → new_esEs5(zu311001, zu43001)
new_esEs12(zu311000, zu43000, app(ty_Ratio, ef)) → new_esEs14(zu311000, zu43000, ef)
new_primEqInt(Neg(Zero), Neg(Succ(zu430000))) → False
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_esEs7(EQ, LT) → False
new_esEs7(LT, EQ) → False
new_esEs22(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_primPlusNat1(Zero, zu4300100) → Succ(zu4300100)
new_esEs10(zu311002, zu43002, app(app(ty_Either, ce), cf)) → new_esEs19(zu311002, zu43002, ce, cf)
new_esEs26(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, app(ty_Ratio, ca)) → new_esEs14(zu311002, zu43002, ca)
new_primPlusNat0(Succ(zu7400), Succ(zu43001000)) → Succ(Succ(new_primPlusNat0(zu7400, zu43001000)))
new_esEs12(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs22(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs10(zu311002, zu43002, ty_Ordering) → new_esEs7(zu311002, zu43002)
new_esEs25(zu311001, zu43001, app(app(app(ty_@3, bde), bdf), bdg)) → new_esEs9(zu311001, zu43001, bde, bdf, bdg)
new_esEs21(Just(zu311000), Just(zu43000), ty_@0) → new_esEs13(zu311000, zu43000)
new_asAs(True, zu73) → zu73
new_esEs15(@2(zu311000, zu311001), @2(zu43000, zu43001), bdc, bdd) → new_asAs(new_esEs26(zu311000, zu43000, bdc), new_esEs25(zu311001, zu43001, bdd))
new_esEs27(zu31100, zu4300, app(app(ty_Either, bad), ha)) → new_esEs19(zu31100, zu4300, bad, ha)
new_esEs11(zu311001, zu43001, ty_Bool) → new_esEs20(zu311001, zu43001)
new_esEs14(:%(zu311000, zu311001), :%(zu43000, zu43001), bdb) → new_asAs(new_esEs24(zu311000, zu43000, bdb), new_esEs23(zu311001, zu43001, bdb))
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Char) → new_esEs18(zu311000, zu43000)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu430000))) → new_primEqNat0(zu3110000, zu430000)
new_esEs16(:(zu311000, zu311001), :(zu43000, zu43001), ff) → new_asAs(new_esEs22(zu311000, zu43000, ff), new_esEs16(zu311001, zu43001, ff))
new_esEs26(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_primEqNat0(Succ(zu3110000), Succ(zu430000)) → new_primEqNat0(zu3110000, zu430000)
new_esEs27(zu31100, zu4300, ty_Char) → new_esEs18(zu31100, zu4300)
new_esEs10(zu311002, zu43002, app(app(ty_@2, cb), cc)) → new_esEs15(zu311002, zu43002, cb, cc)
new_esEs22(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_Ratio, bcc)) → new_esEs14(zu311000, zu43000, bcc)
new_esEs7(GT, GT) → True
new_esEs25(zu311001, zu43001, ty_Bool) → new_esEs20(zu311001, zu43001)
new_esEs27(zu31100, zu4300, ty_Int) → new_esEs6(zu31100, zu4300)
new_esEs22(zu311000, zu43000, app(app(app(ty_@3, fg), fh), ga)) → new_esEs9(zu311000, zu43000, fg, fh, ga)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(zu430000))) → False
new_esEs11(zu311001, zu43001, ty_Ordering) → new_esEs7(zu311001, zu43001)
new_esEs10(zu311002, zu43002, ty_Integer) → new_esEs8(zu311002, zu43002)
new_esEs12(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Integer) → new_esEs8(zu311000, zu43000)
new_primPlusNat0(Succ(zu7400), Zero) → Succ(zu7400)
new_primPlusNat0(Zero, Succ(zu43001000)) → Succ(zu43001000)
new_esEs12(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), ty_Bool, ha) → new_esEs20(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), ty_Char, ha) → new_esEs18(zu311000, zu43000)

The set Q consists of the following terms:

new_esEs25(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), ty_Ordering)
new_esEs13(@0, @0)
new_esEs9(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs7(LT, EQ)
new_esEs7(EQ, LT)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs26(x0, x1, ty_Char)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs21(Just(x0), Just(x1), ty_Bool)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat0(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_@0)
new_esEs19(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs21(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs19(Right(x0), Right(x1), x2, ty_Int)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs12(x0, x1, ty_Char)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Float)
new_esEs19(Left(x0), Left(x1), ty_@0, x2)
new_esEs19(Right(x0), Right(x1), x2, ty_Double)
new_esEs12(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs19(Left(x0), Left(x1), ty_Double, x2)
new_esEs26(x0, x1, ty_Int)
new_esEs7(LT, LT)
new_esEs22(x0, x1, ty_Double)
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs23(x0, x1, ty_Int)
new_esEs19(Left(x0), Left(x1), ty_Int, x2)
new_primEqInt(Neg(Zero), Neg(Zero))
new_sr(Neg(x0), Pos(x1))
new_sr(Pos(x0), Neg(x1))
new_esEs27(x0, x1, ty_Ordering)
new_esEs16([], [], x0)
new_esEs7(LT, GT)
new_esEs7(GT, LT)
new_esEs19(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs11(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, ty_Integer)
new_esEs19(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs27(x0, x1, ty_Bool)
new_esEs10(x0, x1, ty_Char)
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs14(:%(x0, x1), :%(x2, x3), x4)
new_esEs12(x0, x1, ty_@0)
new_esEs12(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_Double)
new_esEs10(x0, x1, ty_Bool)
new_esEs8(Integer(x0), Integer(x1))
new_esEs16([], :(x0, x1), x2)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_asAs(True, x0)
new_sr(Neg(x0), Neg(x1))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Integer)
new_primMulNat0(Zero, Succ(x0))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Bool)
new_esEs19(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs19(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(Just(x0), Nothing, x1)
new_asAs(False, x0)
new_esEs10(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(GT, GT)
new_esEs22(x0, x1, ty_Float)
new_primEqNat0(Zero, Zero)
new_esEs21(Just(x0), Just(x1), ty_Double)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs5(Float(x0, x1), Float(x2, x3))
new_esEs11(x0, x1, ty_Int)
new_esEs21(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(Left(x0), Left(x1), ty_Bool, x2)
new_esEs10(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_@0)
new_esEs19(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs27(x0, x1, ty_@0)
new_esEs21(Nothing, Nothing, x0)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Float)
new_esEs16(:(x0, x1), [], x2)
new_primMulNat0(Zero, Zero)
new_esEs15(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs19(Right(x0), Right(x1), x2, ty_Bool)
new_esEs21(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs12(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), x1)
new_esEs12(x0, x1, ty_Double)
new_esEs19(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs19(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primMulNat0(Succ(x0), Succ(x1))
new_primEqNat0(Succ(x0), Zero)
new_esEs12(x0, x1, ty_Float)
new_esEs12(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs10(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs24(x0, x1, ty_Int)
new_esEs20(True, True)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(EQ, GT)
new_esEs7(GT, EQ)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Double)
new_esEs12(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Nothing, Just(x0), x1)
new_esEs19(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs27(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Int)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Bool)
new_esEs19(Right(x0), Right(x1), x2, ty_@0)
new_esEs19(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs6(x0, x1)
new_esEs22(x0, x1, ty_Ordering)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs12(x0, x1, ty_Integer)
new_esEs12(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, ty_Int)
new_esEs19(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs21(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs20(True, False)
new_esEs20(False, True)
new_esEs10(x0, x1, ty_Double)
new_esEs20(False, False)
new_esEs12(x0, x1, app(ty_[], x2))
new_esEs19(Left(x0), Left(x1), ty_Float, x2)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs19(Right(x0), Right(x1), x2, ty_Integer)
new_esEs12(x0, x1, app(ty_Maybe, x2))
new_esEs21(Just(x0), Just(x1), ty_Int)
new_primPlusNat1(Zero, x0)
new_esEs19(Left(x0), Left(x1), ty_Integer, x2)
new_esEs19(Right(x0), Right(x1), x2, ty_Float)
new_esEs19(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primPlusNat0(Zero, Zero)
new_esEs21(Just(x0), Just(x1), ty_@0)
new_esEs19(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_primMulNat0(Succ(x0), Zero)
new_esEs18(Char(x0), Char(x1))
new_esEs19(Right(x0), Right(x1), x2, ty_Char)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Double)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs7(EQ, EQ)
new_esEs19(Left(x0), Left(x1), ty_Char, x2)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(Just(x0), Just(x1), ty_Char)
new_esEs25(x0, x1, ty_Bool)
new_esEs12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_sr(Pos(x0), Pos(x1))
new_esEs19(Left(x0), Right(x1), x2, x3)
new_esEs19(Right(x0), Left(x1), x2, x3)
new_esEs27(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Char)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), app(app(ty_@2, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_foldl(zu43, :(zu3110, zu3111), ba) → new_foldl(new_deleteBy1(zu3110, zu43, ba), zu3111, ba)

The TRS R consists of the following rules:

new_esEs22(zu311000, zu43000, app(app(ty_@2, gb), gc)) → new_esEs15(zu311000, zu43000, gb, gc)
new_esEs22(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs18(Char(zu311000), Char(zu43000)) → new_primEqNat0(zu311000, zu43000)
new_esEs27(zu31100, zu4300, app(ty_[], fd)) → new_esEs16(zu31100, zu4300, fd)
new_esEs20(True, True) → True
new_deleteBy1(Nothing, :(Nothing, zu431), ba) → zu431
new_esEs25(zu311001, zu43001, app(ty_[], bec)) → new_esEs16(zu311001, zu43001, bec)
new_primEqInt(Neg(Succ(zu3110000)), Pos(zu43000)) → False
new_esEs10(zu311002, zu43002, ty_Char) → new_esEs18(zu311002, zu43002)
new_primEqInt(Pos(Succ(zu3110000)), Neg(zu43000)) → False
new_esEs12(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs25(zu311001, zu43001, ty_@0) → new_esEs13(zu311001, zu43001)
new_esEs19(Left(zu311000), Left(zu43000), ty_Ordering, ha) → new_esEs7(zu311000, zu43000)
new_esEs20(False, False) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), app(app(app(ty_@3, bbh), bca), bcb)) → new_esEs9(zu311000, zu43000, bbh, bca, bcb)
new_esEs22(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs11(zu311001, zu43001, app(ty_Maybe, ea)) → new_esEs21(zu311001, zu43001, ea)
new_primEqInt(Neg(Zero), Pos(Succ(zu430000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zu430000))) → False
new_esEs13(@0, @0) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), app(app(ty_@2, hf), hg), ha) → new_esEs15(zu311000, zu43000, hf, hg)
new_esEs22(zu311000, zu43000, app(ty_Maybe, gg)) → new_esEs21(zu311000, zu43000, gg)
new_esEs11(zu311001, zu43001, app(ty_[], df)) → new_esEs16(zu311001, zu43001, df)
new_esEs12(zu311000, zu43000, app(app(ty_@2, ef), eg)) → new_esEs15(zu311000, zu43000, ef, eg)
new_esEs19(Right(zu311000), Right(zu43000), bad, app(ty_Ratio, bah)) → new_esEs14(zu311000, zu43000, bah)
new_esEs27(zu31100, zu4300, app(app(app(ty_@3, bb), bc), bd)) → new_esEs9(zu31100, zu4300, bb, bc, bd)
new_esEs26(zu311000, zu43000, app(app(ty_@2, bfc), bfd)) → new_esEs15(zu311000, zu43000, bfc, bfd)
new_esEs10(zu311002, zu43002, app(ty_[], cc)) → new_esEs16(zu311002, zu43002, cc)
new_esEs7(GT, LT) → False
new_esEs7(LT, GT) → False
new_primMulNat0(Zero, Zero) → Zero
new_esEs10(zu311002, zu43002, ty_@0) → new_esEs13(zu311002, zu43002)
new_esEs21(Just(zu311000), Just(zu43000), ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs12(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs26(zu311000, zu43000, app(ty_[], bfe)) → new_esEs16(zu311000, zu43000, bfe)
new_esEs19(Left(zu311000), Left(zu43000), app(app(ty_Either, baa), bab), ha) → new_esEs19(zu311000, zu43000, baa, bab)
new_esEs26(zu311000, zu43000, app(ty_Ratio, bfb)) → new_esEs14(zu311000, zu43000, bfb)
new_esEs27(zu31100, zu4300, app(app(ty_@2, bdc), bdd)) → new_esEs15(zu31100, zu4300, bdc, bdd)
new_esEs25(zu311001, zu43001, app(app(ty_@2, bea), beb)) → new_esEs15(zu311001, zu43001, bea, beb)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_[], hh), ha) → new_esEs16(zu311000, zu43000, hh)
new_esEs27(zu31100, zu4300, ty_Bool) → new_esEs20(zu31100, zu4300)
new_esEs9(@3(zu311000, zu311001, zu311002), @3(zu43000, zu43001, zu43002), bb, bc, bd) → new_asAs(new_esEs12(zu311000, zu43000, bb), new_asAs(new_esEs11(zu311001, zu43001, bc), new_esEs10(zu311002, zu43002, bd)))
new_esEs19(Right(zu311000), Right(zu43000), bad, app(ty_Maybe, bbf)) → new_esEs21(zu311000, zu43000, bbf)
new_esEs11(zu311001, zu43001, ty_Double) → new_esEs17(zu311001, zu43001)
new_esEs24(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs17(Double(zu311000, zu311001), Double(zu43000, zu43001)) → new_esEs6(new_sr(zu311000, zu43000), new_sr(zu311001, zu43001))
new_sr(Neg(zu3110010), Pos(zu430010)) → Neg(new_primMulNat0(zu3110010, zu430010))
new_sr(Pos(zu3110010), Neg(zu430010)) → Neg(new_primMulNat0(zu3110010, zu430010))
new_esEs19(Right(zu311000), Right(zu43000), bad, app(app(ty_@2, bba), bbb)) → new_esEs15(zu311000, zu43000, bba, bbb)
new_esEs11(zu311001, zu43001, app(app(ty_@2, dd), de)) → new_esEs15(zu311001, zu43001, dd, de)
new_esEs6(zu31100, zu4300) → new_primEqInt(zu31100, zu4300)
new_esEs22(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, app(app(app(ty_@3, be), bf), bg)) → new_esEs9(zu311002, zu43002, be, bf, bg)
new_esEs19(Left(zu311000), Left(zu43000), app(app(app(ty_@3, hb), hc), hd), ha) → new_esEs9(zu311000, zu43000, hb, hc, hd)
new_deleteBy1(Just(zu31100), :(Just(zu4300), zu431), ba) → new_deleteBy00(zu431, zu4300, zu31100, new_esEs27(zu31100, zu4300, ba), ba)
new_esEs19(Left(zu311000), Left(zu43000), ty_Int, ha) → new_esEs6(zu311000, zu43000)
new_esEs22(zu311000, zu43000, app(ty_[], gd)) → new_esEs16(zu311000, zu43000, gd)
new_esEs22(zu311000, zu43000, app(ty_Ratio, ga)) → new_esEs14(zu311000, zu43000, ga)
new_esEs22(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs12(zu311000, zu43000, app(ty_Maybe, fc)) → new_esEs21(zu311000, zu43000, fc)
new_deleteBy1(Just(zu31100), :(Nothing, zu431), ba) → :(Nothing, new_deleteBy1(Just(zu31100), zu431, ba))
new_esEs7(LT, LT) → True
new_esEs25(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_Ratio, he), ha) → new_esEs14(zu311000, zu43000, he)
new_esEs22(zu311000, zu43000, app(app(ty_Either, ge), gf)) → new_esEs19(zu311000, zu43000, ge, gf)
new_esEs26(zu311000, zu43000, app(ty_Maybe, bfh)) → new_esEs21(zu311000, zu43000, bfh)
new_esEs22(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs11(zu311001, zu43001, app(app(app(ty_@3, cg), da), db)) → new_esEs9(zu311001, zu43001, cg, da, db)
new_esEs10(zu311002, zu43002, ty_Bool) → new_esEs20(zu311002, zu43002)
new_esEs12(zu311000, zu43000, app(app(app(ty_@3, eb), ec), ed)) → new_esEs9(zu311000, zu43000, eb, ec, ed)
new_esEs19(Left(zu311000), Left(zu43000), ty_Float, ha) → new_esEs5(zu311000, zu43000)
new_primEqNat0(Zero, Succ(zu430000)) → False
new_primEqNat0(Succ(zu3110000), Zero) → False
new_esEs10(zu311002, zu43002, ty_Double) → new_esEs17(zu311002, zu43002)
new_primPlusNat0(Zero, Zero) → Zero
new_esEs19(Left(zu311000), Left(zu43000), ty_Double, ha) → new_esEs17(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), ty_Float) → new_esEs5(zu311000, zu43000)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_deleteBy00(zu50, zu51, zu52, False, gh) → :(Just(zu51), new_deleteBy1(Just(zu52), zu50, gh))
new_esEs19(Right(zu311000), Right(zu43000), bad, app(app(app(ty_@3, bae), baf), bag)) → new_esEs9(zu311000, zu43000, bae, baf, bag)
new_esEs26(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs5(Float(zu311000, zu311001), Float(zu43000, zu43001)) → new_esEs6(new_sr(zu311000, zu43000), new_sr(zu311001, zu43001))
new_esEs16(:(zu311000, zu311001), [], fd) → False
new_esEs16([], :(zu43000, zu43001), fd) → False
new_esEs19(Left(zu311000), Left(zu43000), ty_Integer, ha) → new_esEs8(zu311000, zu43000)
new_esEs26(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_primPlusNat1(Succ(zu740), zu4300100) → Succ(Succ(new_primPlusNat0(zu740, zu4300100)))
new_esEs23(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs7(EQ, EQ) → True
new_esEs25(zu311001, zu43001, app(ty_Ratio, bdh)) → new_esEs14(zu311001, zu43001, bdh)
new_esEs20(True, False) → False
new_esEs20(False, True) → False
new_esEs19(Right(zu311000), Right(zu43000), bad, app(ty_[], bbc)) → new_esEs16(zu311000, zu43000, bbc)
new_esEs12(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, ty_Int) → new_esEs6(zu311002, zu43002)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs12(zu311000, zu43000, app(ty_[], eh)) → new_esEs16(zu311000, zu43000, eh)
new_esEs26(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs26(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs23(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs11(zu311001, zu43001, ty_Char) → new_esEs18(zu311001, zu43001)
new_esEs12(zu311000, zu43000, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, app(app(ty_Either, bbd), bbe)) → new_esEs19(zu311000, zu43000, bbd, bbe)
new_esEs11(zu311001, zu43001, app(ty_Ratio, dc)) → new_esEs14(zu311001, zu43001, dc)
new_esEs7(GT, EQ) → False
new_esEs7(EQ, GT) → False
new_esEs26(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs27(zu31100, zu4300, app(ty_Ratio, bdb)) → new_esEs14(zu31100, zu4300, bdb)
new_esEs19(Left(zu311000), Left(zu43000), ty_@0, ha) → new_esEs13(zu311000, zu43000)
new_esEs11(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_esEs25(zu311001, zu43001, ty_Double) → new_esEs17(zu311001, zu43001)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_Maybe, bda)) → new_esEs21(zu311000, zu43000, bda)
new_sr(Neg(zu3110010), Neg(zu430010)) → Pos(new_primMulNat0(zu3110010, zu430010))
new_esEs21(Just(zu311000), Just(zu43000), ty_Double) → new_esEs17(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_@0) → new_esEs13(zu311000, zu43000)
new_esEs25(zu311001, zu43001, app(app(ty_Either, bed), bee)) → new_esEs19(zu311001, zu43001, bed, bee)
new_esEs21(Nothing, Nothing, bbg) → True
new_sr(Pos(zu3110010), Pos(zu430010)) → Pos(new_primMulNat0(zu3110010, zu430010))
new_asAs(False, zu73) → False
new_primEqNat0(Zero, Zero) → True
new_esEs24(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs11(zu311001, zu43001, ty_Float) → new_esEs5(zu311001, zu43001)
new_primMulNat0(Succ(zu31100100), Zero) → Zero
new_primMulNat0(Zero, Succ(zu4300100)) → Zero
new_esEs19(Right(zu311000), Left(zu43000), bad, ha) → False
new_esEs19(Left(zu311000), Right(zu43000), bad, ha) → False
new_esEs21(Just(zu311000), Nothing, bbg) → False
new_esEs21(Nothing, Just(zu43000), bbg) → False
new_primMulNat0(Succ(zu31100100), Succ(zu4300100)) → new_primPlusNat1(new_primMulNat0(zu31100100, Succ(zu4300100)), zu4300100)
new_esEs27(zu31100, zu4300, ty_Float) → new_esEs5(zu31100, zu4300)
new_esEs11(zu311001, zu43001, app(app(ty_Either, dg), dh)) → new_esEs19(zu311001, zu43001, dg, dh)
new_esEs27(zu31100, zu4300, app(ty_Maybe, bbg)) → new_esEs21(zu31100, zu4300, bbg)
new_esEs25(zu311001, zu43001, ty_Ordering) → new_esEs7(zu311001, zu43001)
new_esEs25(zu311001, zu43001, ty_Integer) → new_esEs8(zu311001, zu43001)
new_deleteBy1(Nothing, :(Just(zu4300), zu431), ba) → :(Just(zu4300), new_deleteBy1(Nothing, zu431, ba))
new_esEs27(zu31100, zu4300, ty_Ordering) → new_esEs7(zu31100, zu4300)
new_esEs8(Integer(zu311000), Integer(zu43000)) → new_primEqInt(zu311000, zu43000)
new_esEs27(zu31100, zu4300, ty_@0) → new_esEs13(zu31100, zu4300)
new_esEs21(Just(zu311000), Just(zu43000), ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Float) → new_esEs5(zu311000, zu43000)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs27(zu31100, zu4300, ty_Double) → new_esEs17(zu31100, zu4300)
new_esEs21(Just(zu311000), Just(zu43000), app(app(ty_Either, bcg), bch)) → new_esEs19(zu311000, zu43000, bcg, bch)
new_esEs26(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs12(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_esEs27(zu31100, zu4300, ty_Integer) → new_esEs8(zu31100, zu4300)
new_esEs12(zu311000, zu43000, app(app(ty_Either, fa), fb)) → new_esEs19(zu311000, zu43000, fa, fb)
new_esEs11(zu311001, zu43001, ty_@0) → new_esEs13(zu311001, zu43001)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_[], bcf)) → new_esEs16(zu311000, zu43000, bcf)
new_esEs19(Left(zu311000), Left(zu43000), app(ty_Maybe, bac), ha) → new_esEs21(zu311000, zu43000, bac)
new_esEs25(zu311001, zu43001, app(ty_Maybe, bef)) → new_esEs21(zu311001, zu43001, bef)
new_primEqInt(Neg(Succ(zu3110000)), Neg(Succ(zu430000))) → new_primEqNat0(zu3110000, zu430000)
new_esEs26(zu311000, zu43000, app(app(app(ty_@3, beg), beh), bfa)) → new_esEs9(zu311000, zu43000, beg, beh, bfa)
new_esEs26(zu311000, zu43000, app(app(ty_Either, bff), bfg)) → new_esEs19(zu311000, zu43000, bff, bfg)
new_esEs16([], [], fd) → True
new_esEs10(zu311002, zu43002, ty_Float) → new_esEs5(zu311002, zu43002)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Bool) → new_esEs20(zu311000, zu43000)
new_esEs25(zu311001, zu43001, ty_Char) → new_esEs18(zu311001, zu43001)
new_esEs11(zu311001, zu43001, ty_Int) → new_esEs6(zu311001, zu43001)
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs10(zu311002, zu43002, app(ty_Maybe, cf)) → new_esEs21(zu311002, zu43002, cf)
new_esEs21(Just(zu311000), Just(zu43000), app(app(ty_@2, bcd), bce)) → new_esEs15(zu311000, zu43000, bcd, bce)
new_esEs25(zu311001, zu43001, ty_Float) → new_esEs5(zu311001, zu43001)
new_esEs12(zu311000, zu43000, app(ty_Ratio, ee)) → new_esEs14(zu311000, zu43000, ee)
new_primEqInt(Neg(Zero), Neg(Succ(zu430000))) → False
new_primEqInt(Neg(Succ(zu3110000)), Neg(Zero)) → False
new_esEs7(EQ, LT) → False
new_esEs7(LT, EQ) → False
new_esEs22(zu311000, zu43000, ty_Integer) → new_esEs8(zu311000, zu43000)
new_primPlusNat1(Zero, zu4300100) → Succ(zu4300100)
new_esEs10(zu311002, zu43002, app(app(ty_Either, cd), ce)) → new_esEs19(zu311002, zu43002, cd, ce)
new_esEs26(zu311000, zu43000, ty_Char) → new_esEs18(zu311000, zu43000)
new_esEs10(zu311002, zu43002, app(ty_Ratio, bh)) → new_esEs14(zu311002, zu43002, bh)
new_primPlusNat0(Succ(zu7400), Succ(zu43001000)) → Succ(Succ(new_primPlusNat0(zu7400, zu43001000)))
new_esEs12(zu311000, zu43000, ty_Ordering) → new_esEs7(zu311000, zu43000)
new_esEs22(zu311000, zu43000, ty_@0) → new_esEs13(zu311000, zu43000)
new_deleteBy1(zu3110, [], ba) → []
new_esEs10(zu311002, zu43002, ty_Ordering) → new_esEs7(zu311002, zu43002)
new_esEs25(zu311001, zu43001, app(app(app(ty_@3, bde), bdf), bdg)) → new_esEs9(zu311001, zu43001, bde, bdf, bdg)
new_esEs21(Just(zu311000), Just(zu43000), ty_@0) → new_esEs13(zu311000, zu43000)
new_asAs(True, zu73) → zu73
new_esEs15(@2(zu311000, zu311001), @2(zu43000, zu43001), bdc, bdd) → new_asAs(new_esEs26(zu311000, zu43000, bdc), new_esEs25(zu311001, zu43001, bdd))
new_esEs27(zu31100, zu4300, app(app(ty_Either, bad), ha)) → new_esEs19(zu31100, zu4300, bad, ha)
new_esEs11(zu311001, zu43001, ty_Bool) → new_esEs20(zu311001, zu43001)
new_esEs14(:%(zu311000, zu311001), :%(zu43000, zu43001), bdb) → new_asAs(new_esEs24(zu311000, zu43000, bdb), new_esEs23(zu311001, zu43001, bdb))
new_esEs19(Right(zu311000), Right(zu43000), bad, ty_Char) → new_esEs18(zu311000, zu43000)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Succ(zu430000))) → new_primEqNat0(zu3110000, zu430000)
new_esEs16(:(zu311000, zu311001), :(zu43000, zu43001), fd) → new_asAs(new_esEs22(zu311000, zu43000, fd), new_esEs16(zu311001, zu43001, fd))
new_esEs26(zu311000, zu43000, ty_Float) → new_esEs5(zu311000, zu43000)
new_deleteBy00(zu50, zu51, zu52, True, gh) → zu50
new_primEqNat0(Succ(zu3110000), Succ(zu430000)) → new_primEqNat0(zu3110000, zu430000)
new_esEs27(zu31100, zu4300, ty_Char) → new_esEs18(zu31100, zu4300)
new_esEs10(zu311002, zu43002, app(app(ty_@2, ca), cb)) → new_esEs15(zu311002, zu43002, ca, cb)
new_esEs22(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs21(Just(zu311000), Just(zu43000), app(ty_Ratio, bcc)) → new_esEs14(zu311000, zu43000, bcc)
new_esEs7(GT, GT) → True
new_esEs25(zu311001, zu43001, ty_Bool) → new_esEs20(zu311001, zu43001)
new_esEs27(zu31100, zu4300, ty_Int) → new_esEs6(zu31100, zu4300)
new_esEs22(zu311000, zu43000, app(app(app(ty_@3, ff), fg), fh)) → new_esEs9(zu311000, zu43000, ff, fg, fh)
new_primEqInt(Pos(Succ(zu3110000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(zu430000))) → False
new_esEs11(zu311001, zu43001, ty_Ordering) → new_esEs7(zu311001, zu43001)
new_esEs10(zu311002, zu43002, ty_Integer) → new_esEs8(zu311002, zu43002)
new_esEs12(zu311000, zu43000, ty_Double) → new_esEs17(zu311000, zu43000)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs21(Just(zu311000), Just(zu43000), ty_Integer) → new_esEs8(zu311000, zu43000)
new_primPlusNat0(Succ(zu7400), Zero) → Succ(zu7400)
new_primPlusNat0(Zero, Succ(zu43001000)) → Succ(zu43001000)
new_esEs12(zu311000, zu43000, ty_Int) → new_esEs6(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), ty_Bool, ha) → new_esEs20(zu311000, zu43000)
new_esEs19(Left(zu311000), Left(zu43000), ty_Char, ha) → new_esEs18(zu311000, zu43000)

The set Q consists of the following terms:

new_esEs25(x0, x1, ty_Float)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), ty_Ordering)
new_esEs13(@0, @0)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_deleteBy1(x0, [], x1)
new_esEs7(LT, EQ)
new_esEs7(EQ, LT)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs26(x0, x1, ty_Char)
new_esEs21(Just(x0), Just(x1), ty_Bool)
new_primPlusNat0(Zero, Succ(x0))
new_esEs23(x0, x1, ty_Integer)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_@0)
new_esEs19(Left(x0), Left(x1), ty_Ordering, x2)
new_deleteBy1(Nothing, :(Nothing, x0), x1)
new_esEs21(Just(x0), Just(x1), app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs19(Right(x0), Right(x1), x2, ty_Int)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs12(x0, x1, ty_Char)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Float)
new_esEs19(Left(x0), Left(x1), ty_@0, x2)
new_esEs19(Right(x0), Right(x1), x2, ty_Double)
new_esEs12(x0, x1, ty_Int)
new_esEs25(x0, x1, ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs19(Left(x0), Left(x1), ty_Double, x2)
new_esEs7(LT, LT)
new_esEs26(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Double)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs23(x0, x1, ty_Int)
new_esEs19(Left(x0), Left(x1), ty_Int, x2)
new_primEqInt(Neg(Zero), Neg(Zero))
new_sr(Neg(x0), Pos(x1))
new_sr(Pos(x0), Neg(x1))
new_esEs27(x0, x1, ty_Ordering)
new_esEs7(LT, GT)
new_esEs7(GT, LT)
new_esEs19(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), app(ty_[], x2))
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_esEs24(x0, x1, ty_Integer)
new_esEs19(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs27(x0, x1, ty_Bool)
new_deleteBy1(Nothing, :(Just(x0), x1), x2)
new_esEs10(x0, x1, ty_Char)
new_esEs14(:%(x0, x1), :%(x2, x3), x4)
new_esEs12(x0, x1, ty_@0)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs12(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_Double)
new_esEs10(x0, x1, ty_Bool)
new_esEs8(Integer(x0), Integer(x1))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_asAs(True, x0)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_sr(Neg(x0), Neg(x1))
new_esEs12(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Integer)
new_primMulNat0(Zero, Succ(x0))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs19(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs11(x0, x1, ty_Bool)
new_esEs19(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs19(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs21(Just(x0), Nothing, x1)
new_asAs(False, x0)
new_esEs10(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Double)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(GT, GT)
new_esEs22(x0, x1, ty_Float)
new_primEqNat0(Zero, Zero)
new_esEs21(Just(x0), Just(x1), ty_Double)
new_esEs5(Float(x0, x1), Float(x2, x3))
new_esEs11(x0, x1, ty_Int)
new_esEs21(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs12(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(Left(x0), Left(x1), ty_Bool, x2)
new_esEs10(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_@0)
new_esEs19(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs27(x0, x1, ty_@0)
new_esEs21(Nothing, Nothing, x0)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, ty_Char)
new_esEs16(:(x0, x1), [], x2)
new_esEs26(x0, x1, ty_Float)
new_deleteBy1(Just(x0), :(Just(x1), x2), x3)
new_esEs9(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primMulNat0(Zero, Zero)
new_esEs15(@2(x0, x1), @2(x2, x3), x4, x5)
new_deleteBy00(x0, x1, x2, False, x3)
new_esEs19(Right(x0), Right(x1), x2, ty_Bool)
new_esEs21(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs12(x0, x1, ty_Ordering)
new_primPlusNat1(Succ(x0), x1)
new_esEs12(x0, x1, ty_Double)
new_esEs19(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs19(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primMulNat0(Succ(x0), Succ(x1))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs12(x0, x1, ty_Float)
new_deleteBy1(Just(x0), :(Nothing, x1), x2)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs10(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, ty_Int)
new_esEs20(True, True)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(EQ, GT)
new_esEs7(GT, EQ)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Double)
new_esEs21(Nothing, Just(x0), x1)
new_esEs16([], [], x0)
new_esEs19(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs27(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Int)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Bool)
new_esEs19(Right(x0), Right(x1), x2, ty_@0)
new_esEs19(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs6(x0, x1)
new_esEs16([], :(x0, x1), x2)
new_esEs22(x0, x1, ty_Ordering)
new_esEs17(Double(x0, x1), Double(x2, x3))
new_esEs12(x0, x1, ty_Integer)
new_deleteBy00(x0, x1, x2, True, x3)
new_esEs12(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, ty_Int)
new_esEs19(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs22(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs21(Just(x0), Just(x1), ty_Float)
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Char)
new_esEs20(True, False)
new_esEs20(False, True)
new_esEs10(x0, x1, ty_Double)
new_esEs12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(False, False)
new_esEs16(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs19(Left(x0), Left(x1), ty_Float, x2)
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs19(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Just(x0), Just(x1), ty_Int)
new_primPlusNat1(Zero, x0)
new_esEs19(Left(x0), Left(x1), ty_Integer, x2)
new_esEs19(Right(x0), Right(x1), x2, ty_Float)
new_esEs19(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primPlusNat0(Succ(x0), Succ(x1))
new_primPlusNat0(Zero, Zero)
new_esEs21(Just(x0), Just(x1), ty_@0)
new_esEs19(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_primMulNat0(Succ(x0), Zero)
new_esEs18(Char(x0), Char(x1))
new_esEs19(Right(x0), Right(x1), x2, ty_Char)
new_primEqNat0(Zero, Succ(x0))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Double)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs12(x0, x1, app(ty_[], x2))
new_esEs7(EQ, EQ)
new_esEs19(Left(x0), Left(x1), ty_Char, x2)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(Just(x0), Just(x1), ty_Char)
new_esEs25(x0, x1, ty_Bool)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_sr(Pos(x0), Pos(x1))
new_esEs19(Left(x0), Right(x1), x2, x3)
new_esEs19(Right(x0), Left(x1), x2, x3)
new_esEs27(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_@0)
new_esEs22(x0, x1, ty_Char)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), app(app(ty_@2, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ IFR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_psPs(:(zu3111111110, zu3111111111), zu40, ba) → new_psPs(zu3111111111, zu40, ba)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: